簡體   English   中英

to_char函數在Hibernate中引發異常

[英]to_char function throws exception with Hibernate

我正在嘗試在grails域對象上執行sql語句。 直接在db(h2)上執行時,工作正常。

Call.executeQuery "select to_char(date,'DD') from Call"

通過休眠,我得到:

沒有節點的數據類型:org.hibernate.hql.internal.ast.tree.MethodNode-[METHOD_CALL] MethodNode:'('+-[METHOD_NAME] IdentNode:'to_char'{originalText = to_char}-[EXPR_LIST] SqlNode:' exprList'+-[DOT] DotNode:'call0_.date'{propertyName = date,dereferenceType = PRIMITIVE,getPropertyPath = date,path = {synthetic-alias} .date,tableAlias = call0_,className = com.olamagic.Call,classAlias = null} | +-[IDENT] IdentNode:'{synthetic-alias}'{originalText = {synthetic-alias}} |-[[IDENT] IdentNode:'date'{originalText = date}-[QUOTED_STRING] LiteralNode:” DD'

在H2上直接執行SQL語句時,您正在執行H2的SQL。 GormEntity.executeQuery(String sql)方法執行HQL,而不是SQL。

HQL沒有to_char()函數。 因此,獲得同等結果將涉及更多:

select case when day(date) > 9 then cast(day(date) as text) else concat('0', day(date)) end from Call

如果您不介意以整型作為一天,那么查詢將簡化為:

select day(date) from Call

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM