首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

请问hibernate高手!

2012-03-25 
请教hibernate高手!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!我的开发工具myeclipse6.0+sql2000+hibernate3.0在写映

请教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不对应吧

热点排行