【发布时间】:2016-01-26 18:22:03
【问题描述】:
我正在写一个原生 Sql namedQuery,它的插入语句如下所示:
insert into myTable (
column1,
column2)
values(
'value1'
,'value2' /* value2: is very important */
)
运行上述块会出现异常:“命名查询中的错误”,但是当我从注释中删除冒号时,如下所示:
insert into myTable (
column1,
column2)
values(
'value1'
,'value2' /* value2 is very important */
)
一切正常,有什么解释吗?
编辑: 我可以在这里复制我的真实陈述,但它真的很长。以上只是示例。 这是异常堆栈跟踪:
Caused by: org.hibernate.HibernateException: Errors in named queries: insertSalesDocument
at org.hibernate.impl.SessionFactoryImpl.<init>(SessionFactoryImpl.java:435)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1385)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.newSessionFactory(LocalSessionFactoryBean.java:860)
at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:779)
at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1514)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1452)
... 194 more
实际上,我花了几个小时才知道为什么会出现此异常,因为当我将插入语句复制到 Oracle Sql Developer 时,它看起来正确并且工作正常。它看起来是休眠命名查询解析器或其他东西的错误。
【问题讨论】:
-
请努力格式化问题。使其具有可读性,以便人们愿意帮助您!更多详情:stackoverflow.com/help/how-to-ask