hibernate多对多 关联表带主键 怎么配置?
AB表使用了hibernate多对多的配置,关联表A_B包括主键3个字段a,b,c,执行查找操作时没有问题。但是执行添加数据操作时,例如为A添加数据,hibernate会...
AB表使用了hibernate多对多的配置,关联表A_B包括主键3个字段a,b,c,执行查找操作时没有问题。
但是执行添加数据操作时,例如为A添加数据,hibernate会自动为表A和表A_B添加数据,但对表A_B执行的操作是insert into A_B(b,c) value(?,?)...没有主键信息,所以无法插入。。
没有抛出异常,只是数据无法插入。求问是怎么回事,以及解决办法。。。 展开
但是执行添加数据操作时,例如为A添加数据,hibernate会自动为表A和表A_B添加数据,但对表A_B执行的操作是insert into A_B(b,c) value(?,?)...没有主键信息,所以无法插入。。
没有抛出异常,只是数据无法插入。求问是怎么回事,以及解决办法。。。 展开
2个回答
展开全部
你关联表里有主键么。关联表里应该是联合主键。a表的主键和b表的主键共同作为关联表的主
键。否则关联表无法完成你的上述操作。
建议你拉表关系用powerdesigner,那里面点起来方便多了,关联表也可以自动生成。然后用它
生成的代码反出hibernate映射的Bean。很好很强大哦。
具体的代码我就不多说,想必你现在就在学或者就在用。主要是关联表的联合主键问题。
键。否则关联表无法完成你的上述操作。
建议你拉表关系用powerdesigner,那里面点起来方便多了,关联表也可以自动生成。然后用它
生成的代码反出hibernate映射的Bean。很好很强大哦。
具体的代码我就不多说,想必你现在就在学或者就在用。主要是关联表的联合主键问题。
追问
就是这个关联表。。除了2个外键外还有一个独立的主键。。
现在是在和别人一起做一个项目,所以不好改表结构。。
现在就是想知道能不能通过简单的hibernate配置什么的解决这个问题。。如果不行话就只有试试配置2个一对多,或者不配置关联全代码控制了。。
多谢。。
追答
你可以继续尝试,我觉得还是可以的,在hibernate的配置里就像你说的那样改动。
既然都已经有进度了,那就调试。你说的完全可行。
我建议后者,就是两个多对一,虽然麻烦一些,但是思路清晰。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询