Hibernate使用sql语句,出现对象不存在的问题
郁闷。弄了N个钟头,终于解决了这个问题。
以前可能习惯于用hql语句了,这次涉及多对多查询,所以就尝试用sql语句方便点。
sql语句是写出来了,可惜老是报同一个错误,就是对象不存在(我这里对象名是和表名相同的)。
百度谷歌都用上了。大家的解决方案都差不多,一般是两种:
1.在实体的xml文件中加入schema="dbo" catalog="数据库名称" 。
2.在sql语句中加入数据库全名
例如:
SQLQuery sQuery = session.createSQLQuery("select * from Classes [hibernatetest].[dbo].Classes");
很悲剧的是,我尝试了N次以上两种方法。都不行。现在终于搞定了。真郁闷。
<property name="connection.url"> jdbc:jtds:sqlserver://localhost:1433;DataBaseName=数据库名称;
(我用的是SQL SERVER 2000) </property>
DataBaseName=数据库名称
最初做项目是有加的,后来发现这个没什么用,因为在每个实体的XML文件中都有配置这一项。今天居然还没他不行。
ok。就这样,加上这句就可以了。匪夷所思。
哎呀。累死了。睡觉呼呼
补充于2010年11月25日
仔细分析了下。是不是因为使用sql时候直接去参照最基本的hibernate.hbm.xml?希望路人给个答案。小弟感谢