问题描述
我正在尝试从本机mysql查询迁移到休眠模式,但我想知道如何在查询后将其转换到休眠模式? 这是我的代码:
sql = "SELECT s.* FROM student s WHERE concat_ws(', ',s.last_name,concat_ws(' ',concat_ws(' ',s.first_name,s.suffix),s.middle_name)) like ?"
pstmt = con.prepareStatement(sql);
pstmt.setString(1, fullName);
...
我的意思是我的字段的串联: last_name,first_name,后缀和middle_name 。 我使用了concat_ws,因此忽略了我的字段之一中的NULL值。
编辑
所以我尝试这样的代码:
String sql = "SELECT s.* FROM student s WHERE concat_ws(', ',s.last_name,concat_ws(' ',concat_ws(' ',s.first_name,s.suffix),s.middle_name)) like :name";
SQLQuery query = session.createSQLQuery(sql);
query.addEntity(Student.class);
query.setParameter("name", fullName);
student = (Student) query.list().get(0);
但是为什么它使我无效呢?
1楼
JPQL提供了一个名为CONCAT的功能。