【发布时间】:2014-10-01 10:34:51
【问题描述】:
我正在使用带有某些实体的 Dto 访问数据库,我想改进请求而不修改我的 dto 并删除提取,因此休眠不会返回所有实体的所有数据(休眠设置为惰性) ,我尝试了下一个,但它不起作用:
StringBuilder hql = new StringBuilder();
hql.append(" select d.id as id, ce.cod as clasification.cod ");
hql.append(" from Document d");
hql.append(" join d.clasificacionEntity ce");
工作的 hql 请求:
StringBuilder hql = new StringBuilder();
hql.append(" select d");
hql.append(" from Document d");
hql.append(" join fetch d.clasificacionEntity ce");
问题是当我尝试使用“ce.cod as clasification.cod”时,第二个点给了我一个错误,还有其他方法吗? ,非常感谢!!!
我的 dto 结果是:
DocumentDto{
private id
private clasificacionEntityDto;
}
And
clasificacionEntityDto {
private cod
}
【问题讨论】:
-
clasification.cod是别名,为什么要在此处使用点? -
因为我需要这样的视图界面。
-
什么是视图界面?您能否在问题中添加更多详细信息以避免混淆。但是仍然使用点作为别名是不正确的。
-
还是不清楚,你想通过别名中的点来做什么? Hibernate 不允许这样做。
标签: sql spring hibernate hql dto