请教hibernate高手!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
我的开发工具myeclipse6.0+sql2000+hibernate3.0
在写映射文档中
使用<property name="totalPrice"
formula="(SELECT SUM(o.PRICE)
FROM orders o
WHERE o.CUSTOMER_ID = ID)"/>
老报错!提示
Caused by: java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]对象名 'orders' 无效。
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.getNextResultType(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonTransitionToState(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.postImplExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:139)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1669)
at org.hibernate.loader.Loader.doQuery(Loader.java:662)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.loadEntity(Loader.java:1785)
请大家帮忙!
[解决办法]
SQL> FROM orders o
好象是 FROM orders AS o 吧?
[解决办法]
SQL > FROM orders o 可以省略AS的。。。
先确定下有没有这张表,然后看映射的库名,表名对不对吧
[解决办法]
FROM orders o
这里的orders是映射的名字,一般第一个字母为大写吧,你去看看吧
[解决办法]
表不存在
又或者你登录的账号的user有问题
[解决办法]
初步估计是大小写问题
你的class应该是Orders 把
改成这个名字
[解决办法]
你登陆的用户账号有问题!!!
[解决办法]
那个表orders要和对应pojo的名字一样,大小写也要相同,改一下看看.
[解决办法]
orders是不是应该是Orders
class名大写
[解决办法]
呵呵 ~~~~~~~`谢谢楼主分享
[解决办法]
orders应该是这个问题、
[解决办法]
呵呵.楼上几位兄弟都说的差不多了..
[解决办法]
orders表的问题或者是Orders类的问题...
[解决办法]
建议你试用全名访问 例如 <property name="totalPrice"
formula="(SELECT SUM(o.PRICE)
FROM net.csdn.orders as o
WHERE o.CUSTOMER_ID = ID)"/ >
自己试一试 可能你的 orders 在数据中是关键字 呵呵
------解决方案--------------------
改成 Orders 试试吧
大写的开头
[解决办法]
晕!formula 是支持的本地化SQL表达式,跟大小写、映射、AS什么7788都无关,
我帮你在hibernate3+oracle下运行是可以,看一下是不是你建表有问题
[解决办法]
恩 改成Orders试下
[解决办法]
你看哈你的O/R映射
[解决办法]
orders跟你的bean定义的大小写要一致
[解决办法]
可能是class和table不对应吧