从JPA同时填充主明细表
我有一个双向实体,类似于hibernate示例中的实体: 它将在“部队”表中插入1条记录,在“士兵”表中插入2条记录,效果良好。唯一的问题是士兵的外键不见了。我认为这可能与部队有关。士兵表填充时不会生成Id。那么,我如何将此id填充到士兵从JPA同时填充主明细表,jpa,Jpa,我有一个双向实体,类似于hibernate示例中的实体: 它将在“部队”表中插入1条记录,在“士兵”表中插入2条记录,效果良好。唯一的问题是士兵的外键不见了。我认为这可能与部队有关。士兵表填充时不会生成Id。那么,我如何将此id填充到士兵 我正在使用SpringMVC+SpringRoo+json支持自我回答:问题是SpringRoo生成AspectJ代码来设置士兵,而不设置back引用,尽管我已经指定这是一种双向关系。所以我必须自己加上它 public void Troop.setSoldi
我正在使用SpringMVC+SpringRoo+json支持自我回答:问题是SpringRoo生成AspectJ代码来设置士兵,而不设置back引用,尽管我已经指定这是一种双向关系。所以我必须自己加上它
public void Troop.setSoldiers(Set<Soldier> soldiers) {
this.soldiers= soldiers; // spring roo only generate this line!
// I add the following segment:
for(Soldier soldier: soldiers) {
soldier.setTroop(this);
}
}
您能告诉我们如何在Java代码中设置士兵对象中的部队引用吗?您是如何通知生成器双向关系的?JPA只知道两个单向的,上一次我检查时(我承认是在不久前),Roo在这方面没有什么不同,引用完整性在程序员级别,就像原始JPA一样。
{
"TroopName": "ABC",
"Soldiers": [{"Name":"Jack", "Age": "40"}, {"Name":"TOM", "Age": "30"}]
}
public void Troop.setSoldiers(Set<Soldier> soldiers) {
this.soldiers= soldiers; // spring roo only generate this line!
// I add the following segment:
for(Soldier soldier: soldiers) {
soldier.setTroop(this);
}
}