当前位置: 代码迷 >> java >> 如何在Hibernate中包括串联?
  详细解决方案

如何在Hibernate中包括串联?

热度:71   发布时间:2023-07-31 11:16:15.0

我正在尝试从本机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);

但是为什么它使我无效呢?

JPQL提供了一个名为CONCAT的功能。

  相关解决方案