有没有办法在父子结构的子对象上获取部分对象树,所以我可以实现:
select distinct * from kb_event t0 inner join kb_event t1 on t1.parent_id = t0.id where t1.status = -1;
我的eban查询
Ebean.getServer("default").find(EventModel.class)
.select("children.id, name, status").fetch("children")
.where()
.eq("children.status", -1)
.findList();
返回父元素,但子节点下列出了所有子元素。
我的模型看起来像:
@Entity
@Table(name = "kb_event")
public class EventModel extends Model implements Bean {
@Id
@JsonProperty("eventId")
Long id;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "parent")
public List<EventModel> children;
@ManyToOne
public EventModel parent;
}
在父ID上使用适当的外键