【发布时间】:2016-09-15 10:47:23
【问题描述】:
我有一个实体的递归结构:实体Goal 有一个属性subgoals,它是Goal 实体本身的列表。
@Entity
@Table( name = "GOAL" )
public class Goal {
...
@OneToMany
@JoinTable(name = "goal_subgoals")
private List<Goal> subgoals = new ArrayList<Goal>();
...
}
现在我需要一个获取所有Goal实体的查询,这些实体不是任何Goal中的subgoal。
由于有一个连接表goal_subgoals,列有goal_id 和subgoals_id,也许我需要的是id 不在该表的subgoals_id 列中的所有目标。有关如何执行此操作的任何建议?
我知道如何获得所有属于子目标的目标:
Query query = session.createQuery(
"SELECT subgoalx "
+" FROM Goal goalx "
+ "JOIN goalx.subgoals subgoalx "
);
有没有办法得到那个集合的补码?
【问题讨论】: