【问题标题】:Criteria API query generation标准 API 查询生成
【发布时间】:2013-09-17 09:16:24
【问题描述】:

我有一个非常简单的任务来查询表并使用某些参数进行过滤(此参数是其他表的外键)。

例如 Table1 包含以下字段:

id, name , description, company_id;

我有一个方法将 company_id(不是公司对象)作为输入并返回 table1 中的所有记录。 条件查询如下所示:

DetachedCriteria criteria = DetachedCriteria.forClass(Table1.class)
       .add(Restrictions.eq("company.id", companyId));

问题是生成的查询过于复杂,因为它连接了几个表来执行此操作。而且这个查询不是“生产就绪”

有没有办法建立条件来进行这样的 SQL 查询?:

SELECT * from table1 where company_id =?

【问题讨论】:

    标签: sql hibernate criteria


    【解决方案1】:

    我想您在某些对象映射上使用EAGER 而不是LAZY fetch。如果您实际上不需要EAGER,请使用LAZY,它应该使用您的DetachedCriteria 生成更简单的查询。

    【讨论】:

      猜你喜欢
      • 2019-02-22
      • 2011-06-12
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 2011-11-12
      • 2017-08-19
      • 1970-01-01
      相关资源
      最近更新 更多