如何在HQL中使用NOT LIKE?

Che*_*tan 4 java hibernate hql sql-like

我有一个实体如下

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
}
Run Code Online (Sandbox Code Playgroud)

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

我尝试了下面的代码:

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

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

Joe*_*ras 5

您的查询中有一个错误:

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

变得:

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

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