我有两个相互关联的实体类:
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;
答案 0 :(得分:0)
你的意思是,找到船的所有操作?
SELECT o FROM Operation o WHERE boat = :boat