休眠一对多注释外键空

Posted

技术标签:

【中文标题】休眠一对多注释外键空【英文标题】:hibernate one to many annotation foreign key null 【发布时间】:2017-07-25 08:07:38 【问题描述】:

我有两个实体 LR.javaLI.java。一个请求可能包含多个项目。

执行此方法后,项目表中的 lR 始终为空。我在这里做错了什么?任何建议

【问题讨论】:

public LoanItem() this.loanRequest = new LoanRequest(); 这不应该在构造函数中完成......你不希望任何空的loanRequest自动出现。可能试试GenerationType.AUTO 我也试过了,同样的错误 你应该显示你的测试类的全部代码,因为通常你不想在测试期间坚持任何东西 更新测试用例方法。 找不到方法:loanService.createRequest(loanRequest, "skh"); 【参考方案1】:

您定义了一个双向“多方”关联,因此开发者有责任保持关联双方的一致(即:loanRequest 和 loanItems)。

您应该将 Loanitem 实体的字段 loanRequest 设置为指向“正确”的 LoanRequest。 你在 addLoanItem 中是这样吗?

此外,除非您确实需要从一个实体“导航”到另一个实体并向后“导航”,否则我建议您使用单向关联,它们更易于管理且不易出现此类错误。

不管怎样,@XtremeBaumer 是对的,LoanItem 的构造函数应该是空的。

【讨论】:

以上是关于休眠一对多注释外键空的主要内容,如果未能解决你的问题,请参考以下文章

休眠一对多映射注释问题

休眠一对多关联删除

一对多和一对多连续映射的休眠条件查询 - 表或视图不存在

spring+Hibernate 一对多计数行

一对多的连接列为空休眠

休眠一对多关系