日期:2014-05-19  浏览次数:20707 次

有点迷糊..求助~~关于hibernate的一点小疑问..


加入有表A和表B,B外键关联A,如果我先建表(不让hibernate帮我建),那么我手动建的时候应该在B加上外键吗???
实际我试过加了外键,但是插入数据的时候,hibernate又帮我增加了一个新的外键,这时B表有两个指向A的外键


然而实际项目中是怎样建表的呢

问题补充:

还有我做多对一双向关联,A B C三个实例双向多对一关联,删除B的时候居然连A也删了....我想让在A能找到B,B也能找到对应的A,删除的时候有什么好办法呢

------解决方案--------------------
表双向关联 ,要设置 mappedBy 属性 ,详细参考hibernate文档
------解决方案--------------------
在不在B表创建字段应该是看你是不是设置的双向关联

删除:cascade级联操作:在对主对象进行操作的时候对从对象也操作cascade-"save-update,(级联更新保存)delete"(级联删除) 可以在所有的关联关系映射中使用。一般只在一对多或是一对一使用。一般在多对一或是多对多时使用。一般在多对一或是多对多时不要使用
------解决方案--------------------
一种方式是手动写hibernate的配置文件,参看hibernate的帮组文档,另一是写好数据库通过方向工程的形式进行自动生成。之后 可以做相应的改动