我有一个实体如下

public class Employee implements Serializable {


@Id
@Column(name = "EMPSEQ")
@GeneratedValue(strategy = GenerationType.AUTO)
private Long empSeq;
@Column(name = "EMPID")
private String empId;
@Column(name = "WINDOWSLOGINID")
private String logInId;

// assume respective getter and setter methods
}


我想查询logInId不以“ 5”开头的所有行

我尝试下面的代码:

query = session.createQuery("select * from Employee e where e.logInId not like 5%");


上面的代码不起作用。在NOT LIKE中使用HQL的正确方法是什么

最佳答案

在您的查询中有一个错误:

query = session.createQuery("select * from Employee e where e.logInId not like 5%");


成为:

query = session.createQuery("select * from Employee e where e.logInId not like '5%'");


e.logInId是字符串,因此您必须引述条件5%。

09-11 19:21