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)

配置:图片说明
图片说明

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

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

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