JPA ManyToOne查询已删除的关系

时间:2014-08-28 14:11:11

标签: jpa playframework-2.0

我有两个相互关联的实体类:

class Boat {
    public Long boatId;
    @OneToMany(cascade = { CascadeType.PERSIST, CascadeType.REMOVE }, fetch = FetchType.LAZY)
    public List<Operation> operations;
}

class Operation {
    public Long operationId;
    @ManyToOne
    public Boat boat;
}

这些类当然与一个名为boat_operation的表有关。属于船的其中一项操作已被删除,但操作仍然存在。

我的数据情况是这样的: 操作operationId = 1,船= 1 操作operationId = 2,boat = 1

Boat boatId = 1,操作= 1

我希望在操作上编写一个find方法,找到可以在boat.operations中找到的所有操作?我怎么能在JPA中做到这一点?

在SQL中很简单,我使用连接表: SELECT o.id,o.boat_id   来自operationinstance o,boat_operationinstance bo   WHERE o.id = bo.operations_id和bo.boat_id = o.boat_id;

1 个答案:

答案 0 :(得分:0)

你的意思是,找到船的所有操作?

SELECT o FROM Operation o WHERE boat = :boat