java hibernate 问题,我有两张表,没有主外键关系,可以设置它为一对多,或者多对一吗?困惑!
答案:6 悬赏:10 手机版
解决时间 2021-03-09 11:10
- 提问者网友:贪了杯
- 2021-03-08 11:50
java hibernate 问题,我有两张表,没有主外键关系,可以设置它为一对多,或者多对一吗?困惑!
最佳答案
- 五星知识达人网友:十鸦
- 2021-03-08 13:18
Hibernate中的mapping,和数据库中的主外键约束 没有绝对的联系。
即使数据库中不设置外键关联,同样可以在hibernate中设置一对多,或者多对一,多对多的映射关系,只要你的表符合外键关联的设计要求就可以。
查询可以用HQL或者Native SQL,这个看你自己选择。如果用HQL就必须进行Mapping。如果用原生SQL就需要你自己写sql语句,并将查询结果自己解析成实体类。
即使数据库中不设置外键关联,同样可以在hibernate中设置一对多,或者多对一,多对多的映射关系,只要你的表符合外键关联的设计要求就可以。
查询可以用HQL或者Native SQL,这个看你自己选择。如果用HQL就必须进行Mapping。如果用原生SQL就需要你自己写sql语句,并将查询结果自己解析成实体类。
全部回答
- 1楼网友:煞尾
- 2021-03-08 18:06
这个是不可以的,不过你可建张中间表,建立三表之间的关系
- 2楼网友:思契十里
- 2021-03-08 17:15
没有关联关系的话,就不用 设置 一对多 多对一的啦. 如果想实现 你描述的那种 情况. 你可以把 从表,抽象成一个 类, 然后做主表抽象出的类的 集合属性的成员. 说的有点抽象....希望能明白. 最后说一句哦. 学hibernate 就要把思想从 表 转移到 对象上!对你的学习帮助很大的 嘻嘻
- 3楼网友:玩家
- 2021-03-08 15:40
最好设置主外键关系,方便维护。
- 4楼网友:平生事
- 2021-03-08 15:20
left join 然后就没有然后了
- 5楼网友:白昼之月
- 2021-03-08 14:42
数据库的主外键关系不一定非要设置,用hibernate关联了就行。在entity中用注解或者在xml中做好关联后,就能实现你说的查一张表顺便带出另一张表的相关数据了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯