当前位置: 首页 > 面试题库 >

在Hibernate中使用LIKE%

程磊
2023-03-14
问题内容

我如何LIKE %在hibernate中使用。我想LIKE %hbm.xml文件中使用SQL 。我有2个查询,我要合并为1个。

查询如下所示:

select * from PAY_GROUP_VW where CASE_SID=? AND CASE_TLE like %?%

我也试过了%?%。我使用了不带like子句的方法%,它起作用。但是%不起作用。

包装的异常:

org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query
    at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:630)
    at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
    at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:343)

这就是我传递参数的方式:

q.setParameter(0, csId);
q.setParameter(1, csTle);
return q.list();

试过%|| ?并得到以下异常:

org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute query; nested exception is org.hibernate.exception.SQLGrammarException: could not execute query
    at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:630)
    at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
    at org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:424)
    at org.springframework.orm.hibernate3.HibernateTemplate.executeFind(HibernateTemplate.java:343)

问题答案:

也许user_id不是char / varchar?您必须先将带有str()的user_id转换为字符数据!

例:

SELECT *
FROM abc.def_vw a
WHERE user_id = ?
AND str(user_id) LIKE '%' || ?


 类似资料:
  • 问题内容: 如何将sql查询写入hibernate条件? 问题答案: 想我找到了答案。您必须使用Projection.sqlProjection()而不是Projections.sum()。例:

  • 问题内容: 搜索了几个小时,但我陷入了使用JPA的PlayFramework学习的困境。我正在建立一个示例网站,可以在其中发布帖子。但是这些帖子可以具有以下状态: PostDraft(帖子是草稿,不发布) PostPublished(帖子可以发布) 这些状态存储在单独的表中。显然,州立草稿 尚不可见。 所以我有这些课: 页面类(从表中获取页面信息,一个页面可以有多个帖子) 帖子类(帖子可以在草稿中

  • 问题内容: 我创建了一个具有持久性上下文(hibernate为提供程序)的非常简单的应用程序,以从数据库中读取一些值。我在Maven中使用Eclipse。 首先,我得到 并根据此主题 http://openejb.979440.n4.nabble.com/problem-with-hibernate- persistence-provider- td980429.html 我排除了hibernat

  • 下面是我的hibernate配置类。 当我通过spring boot运行这个bean时,我得到的错误是“预期的单个匹配bean但找到了2:datasource和DataSourceActiviti”。

  • 我正在尝试使用Hibernate documentaion制作一个示例。 我为投标和项目创建了以下实体: 我已经在数据库表中为投标和项目插入了一些记录。现在我已经创建了另一个实体来测试@Subselect,如下所示: 我是Hibernate新手,所以尝试创建一个示例程序来测试@Subselect的特性。 当我运行此程序时,我得到以下错误: Hibernate:从双Hibernate中选择hiber

  • 问题内容: 我当时正在收集有关flush()方法的信息,但是我不清楚何时使用它以及如何正确使用它。从我的阅读中,我的理解是持久性上下文的内容将与数据库同步,即发布未完成的语句或刷新实体数据。 现在,我得到了具有两个实体的场景,并且(一对一关系,但未由JPA强制执行或建模)。具有手动设置的复合PK,还具有自动生成的IDENTITY字段。这应该作为的外键写入到实体。我要存钱,并且要进行一次交易。问题是