【发布时间】:2019-02-16 19:19:19
【问题描述】:
我确实有一个存储库
public interface GroupRepository extends JpaRepository<Group, Integer> {
}
组确实有一个列表项目
private List<Item> items;
每个Item都有一个position属性
private int position;
我如何通过了解项目的位置来检索组 出现在列表之一中?
Item.java
public class Item extends PersistedBean{
private int position;
private Group group;
@Column(name = "Position")
public int getPosition() {
return position;
}
@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "GroupId", referencedColumnName = "Id")
public Group getGroup() {
return group;
}
}
Group.java
public class Group extends PersistedBean {
private int position;
private List<Item> items;
@Column(name = "Position")
public int getPosition() {
return position;
}
@OneToMany(cascade = CascadeType.ALL, mappedBy = "group", orphanRemoval = false)
public List<Item> getItems() {
return items;
}
}
【问题讨论】:
-
你能展示你的实体类吗?
-
我编辑了问题
-
所以位置对于所有项目都是唯一的?否则,您将检索具有任何项目的所有组(position = X);
-
是的,这个职位对所有人都是独一无二的
-
你试过 find
ByItemsPositionIn(int pos); 吗?
标签: java nested spring-data-jpa repository jpql