我在代码中使用了条件查询。它总是会开火select * from ...
相反,我想忽略查询中的一列(字段),因为该字段以字节为单位存储大量数据。这会导致性能问题。
有人可以对此提出想法吗?
一些更新
我在查询中添加了一个投影,它创建了一个查询,例如…
select
this_.TEMPLATE_ID as y0_,
this_.TEMPLATE_NAME as y1_,
this_.CREATE_DATE as y2_,
this_.UPDATE_DATE as y3_,
this_.STATUS_CODE as y4_,
this_.USER_ID as y5_,
this_.UPDATED_BY as y6_,
this_.CATEGORY_ID as y7_,
this_.PRACTICE_ID as y8_
from
templates this_
inner join
user user1_
on this_.USER_ID=user1_.USER_ID
inner join
template_categories category2_
on this_.CATEGORY_ID=category2_.CATEGORY_ID
where
y4_=?
and y8_=?
and y5_ in (
?, ?
)
order by
y1_ asc limit ?
现在的问题就像.. Unknown column 'y4_' in 'where clause'
和y8_的相同错误,y5_表示所有接近它给出错误的地方。
我将其修改为Query …
select
this_.TEMPLATE_ID as y0_,
this_.TEMPLATE_NAME as y1_,
this_.CREATE_DATE as y2_,
this_.UPDATE_DATE as y3_,
this_.STATUS_CODE as y4_,
this_.USER_ID as y5_,
this_.UPDATED_BY as y6_,
this_.CATEGORY_ID as y7_,
this_.PRACTICE_ID as y8_
from
templates this_
inner join
user user1_
on this_.USER_ID=user1_.USER_ID
inner join
template_categories category2_
on this_.CATEGORY_ID=category2_.CATEGORY_ID
where
this_.STATUS_CODE=1
and this_.PRACTICE_ID=1
and this_.USER_ID in (
1, 2
)
order by
y1_ asc limit ?
而且有效。但是我不知道如何在HQL中对其进行修改?
使用投影来指定您要返回的列。
例
SQL查询
SELECT user.id, user.name FROM user;
hibernate替代
Criteria cr = session.createCriteria(User.class)
.setProjection(Projections.projectionList()
.add(Projections.property("id"), "id")
.add(Projections.property("Name"), "Name"))
.setResultTransformer(Transformers.aliasToBean(User.class));
List<User> list = cr.list();
我在代码中使用条件查询。它总是激发 相反,我想忽略查询中的一列(字段),因为该字段以字节形式存储了大量数据。导致性能问题。 有谁能给出一个主意吗? 一些更新 我在查询中添加了一个投影,它创建了一个类似... 现在问题就像..中的未知列“y4_”以及y8_和y5_的相同错误意味着关闭它给出错误的所有内容。 我把它修改成像... 而且奏效了。但是不知道在HQL里面怎么修改?
问题内容: 我需要使用detachedCriteria进行此SQL查询: 这个想法是从不属于用户的游戏中获取ID。我尝试了与detachedCriteria类似的10种不同方法,但得到了“未知实体:null” MappingException代码应类似于: 还设置投影以仅返回游戏的ID。 有任何想法吗?我认为Hibernate在加入没有别名的查询时会遇到一些麻烦。添加别名是可行的,但结果是完全错误
问题内容: 在我当前的项目中,我遇到了使用hibernate条件查询获取实体的问题。我有以下实体: 教授,其中包含学生名单 学生,其中包含作业列表。 作业,其中包含分配到的学生的ID。 现在,我想获得与教授有关的所有作业,即教授分配给他的学生的所有作业。 此查询显示我要在条件查询中实现的内容。 如何使用hibernate条件API实施此查询? 问题答案: 假设您的表格是这样的: 使用别名的简单示例
问题内容: 我有一堂课; 我还有一节课; 我将如何搜索Student ,名字John,lastName Doe? 如果是出生日期属性,我将在日期上创建一个并添加一个相等限制()。我将如何对AppUser对象中的lastName和firstName进行操作? 问题答案: 查询: 要使用条件,请检查此线程 还可以从hibernate文档中查看此页面
问题内容: 任何使用条件/ hql / sql告诉我查询的人。要求是用户输入电子邮件或用户名查询从表user返回用户的密码。 问题答案: 如果您正在做的只是获取一个字段,那么您可能只想执行hql(或者可能是sql)。 如果您符合条件,我相信您将撤回整个对象,只是为了最终使用一个字段。 编辑: 这是一个非常广泛的问题。这是一个教程
问题内容: 我不确定如何描述这个问题,所以我认为举个例子是问我问题的最好方法: 我有两个表具有多对多关系: 驾驶员许可证<->许可证类别 LicenceClass是诸如“汽车”,“摩托车”和“中型刚性”之类的东西。 使用Hibernate Criteria,如何找到同时具有“汽车”和“摩托车” LicenceClasses的所有许可证? 2008年12月11日更新我发现可以使用自定义ResultT