当前位置: 首页 > 知识库问答 >
问题:

具有投影和限制的Hibernate条件查询问题

班高明
2023-03-14
Criteria cr = session.createCriteria(OfferCashbackMaster.class)
    .setProjection(Projections.projectionList()
      .add(Projections.property("txnType"), "txnType")
      .add(Projections.property("off_Discription"), "off_Discription"))
    .setResultTransformer(Transformers.aliasToBean(OfferCashbackMaster.class))
    .add(Restrictions.and(Restrictions.eq("aggregatorId", aggregatorId),
                           Restrictions.eq("txnType", txnType)));
Hibernate: 
select 
    this_.OFFER_CODE as y0_, 
    this_.TXN_TYPE as y1_, 
    this_.VALID_TO as y2_, 
    this_.OFFER_DISCRIPTION as y3_ 
    from OFFER_CASHBACK_MASTER this_ 
where 
    (this_.AGGREGATOR_ID=? and y1_=?)

2018-02-25/15:42:41.756  WARN: util.JDBCExceptionReporter - 
SQL Error: 1054, SQLState: 42S22
2018-02-25/15:42:41.757 ERROR: util.JDBCExceptionReporter - 
Unknown column 'y1_' in 'where clause'

如何解决这个问题?

共有1个答案

东方英豪
2023-03-14

如果您使用的是Hibernate3.2.6、3.0.5、3.5.5、3.6.0.beta3,那么是时候迁移到较新版本的Hibernate了。

报告的bug:有投影和限制的条件查询问题

链接:https://hibernate.atlassian.net/browse/hhh-3371

 类似资料:
  • 首先,我将列出我在查询中使用的三个模型 产品实体: 合作伙伴实体: 和StockProductInfoEntity: 我想从数据库产品中获取所有股票的合作伙伴计算计数。为了方便起见,我创建了一个简单的DTO: 并在JPA存储库中编写JPQL查询: 但我的应用程序甚至没有启动,因为查询验证有问题。我收到以下消息: 原因:组织。冬眠QueryException:查询指定了联接提取,但提取的关联的所有者

  • 作为条件表达式的结果,我很难获得相关实体对象的列表。我有两个具有多对多关系的对象 但是,这并不像预期的那样有效,因为投影API似乎只支持投影标量属性,而不支持投影实体对象。是否可以通过投影或其他标准API指定这种类型的选择?

  • 我正在使用Hibernate标准和投影来获得不同的值,如下所示: 我正在使用带有投影的结果转换器来获取不同值的列表

  • 我有一个表“Quote”,映射在hibernate中,它有一个由整数id和日期组成的复合键,还有几个附加列。我想编写一个条件查询,它使用DetachedCriteria来获取每个id中日期最长的行。 在sql中,我可能会编写一个查询,比如 在hibernate中,我认为可以像这样为“group by”子查询创建DetachedCriteria(其中Quote是映射表的类,“Qid”是键的复合id类

  • 我正在使用JPA投影,但当我的查询包含子查询时,它就失败了。例如: 下面是投影的界面: 和存储库: 关于如何使用JPA投影的子查询有什么想法吗? 谢谢。

  • 问题内容: 在Google上搜索后,我发现Elasticsearch的最大查询条件限制为1024? 它是可配置的吗?如果可以,请提供任何步骤。 谢谢,Sameer 问题答案: 默认值为1024,但是它是可配置的。在elasticsearch配置文件(例如yml文件)中,设置提及的设置:例如。