我在搜索操作方面遇到困难。如果一行的列中有任何null
值,则该行不会出现。我尝试在is not null
中使用hql
,但我无法获取值。我写过hql
这样的查询。它什么也没有回来。我无法理解它是如何工作的。请告诉我这个解决方案。我使用mysql
。
session.createQuery("FROM Employee e WHERE (e.company is not null and e.company.name = :p1) or e.name = :p1").setParameter("p1", str)
我的@Entity
课程是:
@Entity
public class Employee implements Serializable {
@Id
@GeneratedValue
private Long id;
private String name;
private float salary;
@OneToOne(cascade = CascadeType.ALL)
private Company company;
@Entity
public class Company implements Serializable {
@Id
@GeneratedValue
private Long id;
private String name;
private String Location;
答案 0 :(得分:1)
试试这个
session.createQuery("FROM Employee e left join e.company c WHERE c.name = :p1 or e.name = :p1").setParameter("p1", "uday11")
当您在查询中使用e.company
时,它会被翻译为inner join
,这就是为什么它无法按预期运行的原因。