我的Play应用程序上有这个模型。
@Entity
@Table(name="SHOPPER")
public class User extends GenericModel {
...
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "SASHNBR", insertable = true, updatable = true)
public List<Direction> directions;
}
方向模型看起来像这个
@Entity
@Table(name="SHADDR")
public class Direccion extends GenericModel {
...
@Column(name="SASHNBR")
@Required
public Long idUser;
}
这样我就得到了一个错误,因为Direction在保存时没有生成idUser。
我也试过这种方法。
@Entity
@Table(name="SHOPPER")
public class User extends GenericModel {
...
@OneToMany(cascade = CascadeType.ALL, mappedBy="user")
public List<Direction> directions;
}
方向模型看起来像这个
@Entity
@Table(name="SHADDR")
public class Direccion extends GenericModel {
...
@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name = "SASHNBR", insertable = true, updatable = true)
User user;
}
但它也不起作用。
有人能帮我吗?
谢谢!:)
你需要自己拯救孩子。您可以在教程中查看示例。
public User addDirection(Direction direction) {
this.directions.add(direction);
this.save();
return this;
}
@Override
public User save(){
for (Direction dir : directions) {
dir.save()
}
super.save()
return this;
}
请尝试以下操作:
User user = new User();
// [...] call required setters of user object
for (int i=0; i<5; i++) {
Direction direction = new Direction();
direction.setUser(user);
// [...] call other required setters of direction object
user.getDirections().add(direction);
}
entitymanager.persist(user);