关于 Hibernate Native SQL

jllxmsjy 2008-11-06 05:18:47
1.是否 hibernate native sql 指定返回实体后 参数不能包含 '{' ?
2.是否hibernate native sql 分页时,order by 后 的参数不能用 ? 指定?
有谁遇到过此类问题,有什么好办法解决嘛?

select
{it.*}
from Item_View it
left outer join Formulation_Table f on it.id = f.id
left outer join RawMaterial_Table r on it.id = r.id
left outer join ComponentComposition_Table c on f.latestCompositionVersion = c.id
left outer join PartComposition_Table p on r.latestCompositionVersion = p.id
where
(
c.compositionStatus in
(
'Checked Out Modified','Checked Out Not Modified','Normal','Outdated'
)
or
(
r.isHasComposition = 1
and p.compositionStatus in
(
'New',
'Normal',
'Checked Out - Modified',
'Checked Out - Not Modified',
'Outdated'
)
)
or r.isHasComposition=0
)
and
(
lower
(
it.code
)
like :keyword1 escape '/' or lower
(
it.alternativeCode
)
like :keyword1 escape '/' or lower
(
it.experimentalCode
)
like :keyword1 escape '/' or lower
(
it.name
)
like :keyword2 escape '/' or lower
(
it.shortName
)
like :keyword2 escape '/' or lower
(
r.description
)
like :keyword2 escape '/' or lower
(
r.chemicalName
)
like :keyword2 escape '/' or lower
(
r.disclosureName
)
like :keyword2 escape '/' or lower
(
r.technicalName
)
like :keyword2 escape '/' or lower
(
r.commonName1
)
like :keyword2 escape '/' or lower
(
r.commonName2
)
like :keyword2 escape '/' or lower
(
r.commonName3
)
like :keyword2 escape '/' or lower
(
r.commonName4
)
like :keyword2 escape '/' or lower
(
r.commonName5
)
like :keyword2 escape '/'
)
and it.deleteFlag = 0
order by (case when lower(it.name) like '{%' escape '/' then 1 when lower(it.code) like '{%' escape '/' then 2 else 3 end),
(case when it.active = 'Active' then 1 else 2 end),
(case when it.name like '{%' escape '/' then it.name else it.code end)

Query query = sess.createSQLQuery(sb.toString())
.addEntity("it", ItemView.class)
.setString("keyword1", index.toLowerCase() + "%")
.setString("keyword2","%" + index.toLowerCase() + "%")
.setFirstResult(start)
.setMaxResults(limit);

List<ItemView> ret = query.list();
报以下异常
nested exception is org.springframework.orm.hibernate3.HibernateQueryException: Unmatched braces for alias path
...全文
587 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

67,514

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧