论坛首页 Java企业应用论坛

问题:用hql遇到的问题

浏览 4124 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2003-11-07  
如果值对象的类的名称和数据库中对应的表的名称不相同。
如:
	<hibernate-mapping>
			<class name="VersionOfCIVO"  table="VersionOfCI"  >......</class></hibernate-mapping>

在查询的时候就不能用session.query("select ver from VersionOfCIVO as ver");只能用session.find("from VersionOfCI in class com.VersionOfCIVO "); 不知道还有谁遇到了类似的问题。
这里面是不是有什么原理上的问题。我觉得论坛上关于hql的贴子好少哦 。
   发表时间:2003-11-07  
session.query("select ver from VersionOfCIVO as ver");

改为 session.query("select ver from VersionOfCI as ver");

呵呵,第一发贴有点紧张诶~~~
0 请登录后投票
   发表时间:2003-11-07  
引用

Session.query()

没有这个方法吧。

引用

如果值对象的类的名称和数据库中对应的表的名称不相同。
如:.....

没有这种说法。

引用

session.find("from VersionOfCI in class com.VersionOfCIVO ");

..in..好像是hibernate1.X的语法吧。
0 请登录后投票
   发表时间:2003-11-07  
偶都说第一次紧张啊。

Query q= session.creatQuery();

session.find()是以前的语法啊? 呵呵,这个不太清楚啊。

反正我就是把我遇到的问题解决了。然后post上来给大家看看。。  :)
0 请登录后投票
   发表时间:2003-11-07  
可能是我用词不恰当。 我的意思就是  class 的 name 属性和 table属性的名字不一样。

通常网上给的例子着两个地方的名字是一样的。
0 请登录后投票
   发表时间:2003-11-07  

可能是我用词不恰当。 我的意思就是 class 的 name 属性和 table属性的名字不一样。
[/qutoe]
不一定要一样,可以在映射文件中配置。
0 请登录后投票
   发表时间:2003-11-07  
	<class  name="VersionOfCIVO"  table="VersionOfCI"  
			>
就是像这样的,对吧。

我说的问题就是在这样的情况下发生的。如果两个名字是一样的。createQuery()和find()都没问题的。 如果不一样,createQuery()就不行了。
0 请登录后投票
   发表时间:2003-11-07  
不可能,你用什么版本的hibernate?
0 请登录后投票
   发表时间:2003-11-07  
hibernate-2.1beta4  

是不是改更新了。 呵呵。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics