Hibernate 多对一XML配置问题

异常:Caused by: org.hibernate.MappingException: Repeated column in mapping for entity: entity.StudentEntity column: gid (should be mapped with insert="false" update="false")
at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:835)
at org.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:853)
at org.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:875)
at org.hibernate.mapping.PersistentClass.validate(PersistentClass.java:607)
at org.hibernate.mapping.RootClass.validate(RootClass.java:265)
at org.hibernate.boot.internal.MetadataImpl.validate(MetadataImpl.java:329)
at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:459)
at org.hibernate.boot.internal.MetadataImpl.buildSessionFactory(MetadataImpl.java:170)

配置:图片说明
图片说明

3个回答

兄弟,从你说的来看,是因为你在Student实体多配置了一个gid,一对多的关系已经通过实体gradeEntity绑定,不需要定义gid了,把配置文件的name =gid
删除

qq_32063079
Leo.H.J 没用耶...报其他错误了
接近 2 年之前 回复

在一方inverse=true(一般默认是false)是将关系维护交给多方,如果不设置那么一方和多方均会进行insert或者update的sql语句,也就是说插入的时候都会插入或更新外键;(借用别人)
在与另一个检查是否相同

qq_32063079
Leo.H.J 还是这个错误...
接近 2 年之前 回复

少了 insert="false" update="false" ,加上去,加到many-to-one里

qq_32063079
Leo.H.J 试过了,这样的话外键就没用了
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问