Mig*_*iro 7 postgresql playframework ebean playframework-2.4
我有一个使用与PostgreSQL数据库集成的eBean的Play2应用程序.
基本上我有一个模型TripRequest作为Passengers 的列表.用例是"一次旅行有几名乘客".
对于TripRequest我有这个模型:
@Entity
public class TripRequest extends Model {
    enum Status {
        OPEN,
        PROCESSING,
        CLOSED,
        CANCELLED
    }
    @Id
    private UUID id;
    @ManyToOne
    @Column(nullable = false)
    private User owner;
    @OneToMany(mappedBy = "tripRequest")
    @JoinTable(name = "trip_passengers")
    private List<Passenger> passengers;
    (... other fields, getters and setters ...)
这是我的Passenger模特:
@Entity
@Table(name = "trip_passenger")
public class Passenger extends Model {
    @ManyToOne(cascade = CascadeType.ALL)
    private TripRequest tripRequest;
    @Column(nullable = false)
    private String name;
    (... other fields, getters and setters)
因此,我创建了一个新实例TripRequest,Passenger并将该列表设置为TripRequest实例的乘客.问题是,当我tripRequest.save()在主实例中执行所有操作时(TripRequest)得到保存但关系不是(所以乘客列表).
我的文档和例子阅读,一切都指向我到CascadeType.ALL的@ManyToOne注释,但没有"运气"的说法
编辑:如果您认为完整的课程有用,请告诉我,因为我可以发布它们.刚决定保持这个例子简短,所以我修剪它们.
我认为你应该站在tripRequest一边Passenger(因为这个类实际上拥有这种关系),然后才保存它。像这样的东西:
for(Passenger p : passengers){
    p.tripRequest = this;
}
| 归档时间: | 
 | 
| 查看次数: | 281 次 | 
| 最近记录: |