假设以下课程,您如何找到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>();
}
Run Code Online (Sandbox Code Playgroud)
它就像做这个一样简单,还是有正确的方法?
select p from Person p where p.email=:email
Run Code Online (Sandbox Code Playgroud)
mus*_*iKk 10
那并没那么简单.JPQL IN为此提供运算符:
select p from Person p, IN(p.email) m where m = :email
Run Code Online (Sandbox Code Playgroud)
"旧"方式(读取类似SQL)将是:
select p from Person p join p.email m where m = :email
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4981 次 |
| 最近记录: |