初接触Hibernate,今天在练习多对多建表时出现了建表成功,但无数据的问题。
但是控制台中sql语句能够正常输出,搜索了一下可能的原因是:1、关键字冲突 2、数据库方言错误
检查了一下,并没有特殊命名的方法。在建立单表时一切正常,所以应当也不是方言的问题。
试着在配置中设置inverse属性,发现数据能够正常录入了。才知道自己又犯了细节上的问题:多对多在建表时,必须要选择一方放弃维护关系。如果两方都维护关系,那么都会向中间表中插入一样的记录,此时数据库会返回异常。