嗨,我有一个直接的问题,
我要在表中插入新记录,然后在此之后,以所有关系(附加列表等)检索此新记录。
在插入阶段,我有一些对象,例如WvClsProgetto,仅带有ID,以允许Hibernate正确插入外键, 因此这些对象没有其他信息,只有ID。
当我保存我的实体时,我想检索它,但是当我检索我的实体时,它里面的VwClsProgetto仅填充ID ...而不是其所有属性:
但是此属性均为空,显然在我的表中记录的属性值正确。
我确实以这种方式保存:
我的存储库类别为:
基本存储库来自JPA:
POM片段:
帮助我!
答案 0 :(得分:1)
您需要级联保存,否则只会保存根实体:
@ManyToOne(fetch = FetchType.LAZY, cascade = {CascadeType.PERSIST, CascadeType.MERGE})
private WvClsProgetto wvClsProgetto;
更新
为了保存具有现有依赖关系的实体,您必须首先对其进行检索,以使其位于持久性上下文中。
VwClsProgetto existingVwClsProgetto = vwClsProgettoRepository.findById(
scheda.getVwClsProgetto().getId())
.get()
然后重新设置该属性:
scheda.setVwClsProgetto(existingVwClsProgetto);