我有下一个 ER 结构:
我的实体是这样的:
事件.java
public class Event implements Serializable {
.. many attributes here
@OneToOne(mappedBy = "evento",cascade = CascadeType.ALL,orphanRemoval = true)
private Quiz quiz;
many getters & setters here ...
}
测验.java
public class Quiz implements Serializable {
@JoinColumn(name = "evento",referencedColumnName = "id")
@OneToOne
private Evento evento;
}
我想获取每个没有测验的事件,所以我的查询是这样的:
Query q = em.createQuery("SELECT e FROM Evento AS e WHERE e.encuesta IS NULL",Evento.class);
但是我得到一个空列表
我使用 hibernate 来实现持久性。
有人可以帮助我吗:)?
最佳答案
尝试 IS EMPTY
子句:
Query q = em.createQuery("SELECT e FROM Evento AS e WHERE e.encuesta IS EMPTY",Evento.class);
看这个:
关于java - 如何与JPA查询这种一对一的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24072111/