2014-01-10 44 views
0

我有两个实体TravelAssurance与@OneToOne关系。两个实体必须通过与Save贴图相同的接口创建。我用这个方法:如何使@OneToOne关系同时存在两个实体?

ManagedBean.java:

public String add(){ 
    newTravel = manager.createTravel(arrivalDate, returnDate, lengthToStay, addToStay, visitPurpose); 
    newAssurance = manager.createAssurance(company, assuranceStart, assuranceEnd, newTravel); 
    return "Travellers"; 
} 

在数据库中,我发现关联到AssuranceTravel_IdAssurance_IdTravelsnull

回答

1

看起来您的关系不是双边的(即您不使用mappedBy注释属性)。如果您使用了一个,则只有一列(Travel_IdAssurance_Id,取决于您放置mappedBy的位置)。

还可以考虑在同一个事务中进行保存,例如使用相同的管理器方法并设置关系的两端。

相关问题