【发布时间】:2021-11-07 22:26:29
【问题描述】:
我有两个实体:
实体:
@Entity
@Data
public class AEntity{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
}
B实体:
@Entity
@Data
public class BEntity{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToMany(fetch = FetchType.EAGER)
private List<AEntity> aEntities = new LinkedList();
}
我想通过 aEntities 从数据库中加载所有 BEntities,其中包含使用标准 API 的 AEntity 名称列表。
例子:
Database:
AEntities -> {1, "A1"}, {2, "A2"}, {3, "A3"}
BEntities -> {1, AEntities: {1, 2, 3}}, {2, AEntities: {1, 3}}, {3, AEntities: {3}}
如果我调用 mySearchMethod(List.of("A1", "A3")) 它应该返回:
{1, AEntities: {1, 2, 3}}, {2, AEntities: {1, 3}}
因为只有这些 BEntities 包含名称为“A1”和“A3”的 AEntities
尝试使用in 表达式实现此功能,但无法在列表中找到列表:(
【问题讨论】:
标签: java hibernate criteria-api