java - 如何在 Hibernate 中使用 Contains

标签 java spring hibernate

session = sessionFactory.openSession();         
Transaction tx = session.beginTransaction();
String hql ="from CustomObjectId where CONTAINS(fileName,fileName)";
Query query = session.createQuery(hql);
query.setParameter("fileName", fileName);
List file=query.list();
tx.commit();

如何搜索CONTAINS

最佳答案

您需要使用 IN 子句,如下所示:

 session = sessionFactory.openSession();         
String hql =" from CustomObjectId c where c.fileName in :fileName";
Query query = session.createQuery(hql);
query.setParameter("fileName", fileName);
List file=query.list();

此外,您不需要(显式)事务来仅从数据库读取。所以,只需删除 Transaction tx = session.beginTransaction(); and tx.commit();行。

关于java - 如何在 Hibernate 中使用 Contains,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40465500/

相关文章:

java - Spring 父级的依赖项中缺少版本

java - 每次运行 Junit 测试时实体管理器都为空

java - Hibernate 内连接 ManyToOne

java - 使用 spring data JPA 而不是 hibernate

java - 使用 JSONSerializer.toJava 将 json 转换为 java 对象后始终获取日期字段的值作为当前日期

java - AudioManager 在死线程上向 Handler 发送消息?

java - OAuth : Authenticating Android user on google app engine using Facebook SSO

java - 动态更改提交给Executor服务的命令列表

java - Spring:读取inputStream后如何使用@RequestBody

java - 具有附加约束的 @OneToOne 关系