请教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 在数据中是关键字 呵呵
------解决方案--------------------