4
我在我的應用程序的數據訪問層使用SQL Server 2008和Hibernate 3.0。問題是我無法從數據庫中讀取數據。 這是我的Hibernate配置;在SQL Server 2008中使用Hibernate
<property name="connection.driver_class"> com.microsoft.sqlserver.jdbc.SQLServerDriver</property>
<property name="connection.url">jdbc:sqlserver://localhost;databaseName=test;integratedSecurity=true;</property>
<property name="connection.username">not required</property>
<property name="connection.password"></property>
<property name="dialect">org.hibernate.dialect.SQLServer2008Dialect</property
<property name="hibernate.hbm2ddl.auto">update</property>
<mapping resource="user.hbm.xml"/>
這裏是user.hbm.xml
<class name="ammar.User" table="user" schema="dbo" catalog="test">
<id name="userId" type="int" column="userId" >
<generator class="assigned"/>
</id>
<property name="userName">
<column name="userName" />
</property>
</class>
這裏是我使用從數據庫中獲得數據的代碼。
SessionFactory sF = new Configuration().configure().buildSessionFactory();
Session session = sF.openSession();
User user = (User) session.get(User.class, 1);
if(user!=null)
System.out.println(user.getUserName());
else
System.out.println("Not Found");
SQLGrammarException以及SQLServerException當我運行這個時發生。 需要緊急回覆。
你有一個在數據庫中的ID爲1的條目?同時打印堆棧跟蹤。 – ManuPK 2012-03-27 13:46:40
解決。 實際上'用戶'a是SQL Server 2008中的保留字。 無論如何,感謝@ManuPK。 – Ammar 2012-03-27 17:42:01