首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hibernate没有为Hibernate命名查询( hbm文件)映射文件生成适当的sql查询。

Hibernate没有为Hibernate命名查询( hbm文件)映射文件生成适当的sql查询。
EN

Stack Overflow用户
提问于 2016-01-13 13:40:37
回答 1查看 237关注 0票数 0

我在hbm文件中定义了一个名为hibernate的查询。

代码语言:javascript
复制
<query name="AddressBook.find_by_user_id_and_type_lease_time">
    <![CDATA[ FROM AddressBook addressBook 
        WHERE addressBook.mightyUser.userId = ? 
        and addressBook.typeId = ? 
        and (addressBook.lockOwner is null
        or (addressBook.lockOwner is not null 
        and (sysdate - addressBook.lockLeaseDate) > ?))]]>
</query> 

通过hibernate查询接口执行此查询时,发现生成的查询不正确。这里'(‘’被忽略/从查询中被砍掉。

代码语言:javascript
复制
 2016-01-13 12:26:44.327 475eb4d0 D 00000000000000000000000000000000    02a5:select addressboo0_.ADDRESS_BOOK_ID as ADDRESS1_37_, addressboo0_.VERSION as VERSION37_, addressboo0_.ADDRESS_BOOK_NAME as ADDRESS3_37_, addressboo0_.UPDATED_TIME as UPDATED4_37_, addressboo0_.CREATED_DT as CREATED5_37_, addressboo0_.TYPE_ID as TYPE6_37_, addressboo0_.LOCK_OWNER as LOCK7_37_, addressboo0_.DEDUPE_DATE as DEDUPE8_37_, addressboo0_.LOCK_LEASE_DATE as LOCK9_37_, addressboo0_.ACCOUNT_NAME as ACCOUNT10_37_, addressboo0_.USER_ID as USER11_37_ from R4GDEV02_MBW.ADDRESSBOOK addressboo0_ where addressboo0_.USER_ID=? and addressboo0_.TYPE_ID=? and (addressboo0_.LOCK_OWNER is null or 
***(addressboo0_.LOCK_OWNER is not null) and sysdate-addressboo0_.LOCK_LEASE_DATE>?)***

请提出建议/建议

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-13 13:52:45

由于andor具有更高的优先级,所以SQL查询是正确的。所以在(addressBook.lockOwner is not null and (sysdate - addressBook.lockLeaseDate) > ?)中不需要括号

更新

代码语言:javascript
复制
(addressBook.lockOwner is null or 
    (addressBook.lockOwner is not null and (sysdate - addressBook.lockLeaseDate) > ?))

手段

代码语言:javascript
复制
(A + (B * C))

代码语言:javascript
复制
(addressBook.lockOwner is null or 
    (addressBook.lockOwner is not null) and sysdate - addressBook.lockLeaseDate > ?)

手段

代码语言:javascript
复制
(A + B * C)

是一样的

代码语言:javascript
复制
(A + (B * C)) = (A + B * C)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34768222

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档