假设在下面的类(class)中,您如何找到具有特定电子邮件地址的 Person
?
public class Person implements Comparable<Person> {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private long id = 0;
@OneToMany(cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}, fetch=FetchType.LAZY)
private Set<String> email = new HashSet<String>();
}
就这么简单吗,还是有什么好的方法?
select p from Person p where p.email=:email
最佳答案
没那么简单。 JPQL 为此提供了 IN
运算符:
select p from Person p, IN(p.email) m where m = :email
“旧”方式(读取类似 SQL)是:
select p from Person p join p.email m where m = :email
关于java - 如何编写参数为集合的 JPA 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3492018/