2012-04-23 16 views
0

アプリケーションでホストされているSQL Server 2008に接続している「無効なオブジェクト名」が引き続き発生します。私は文字列を使用してアプリケーションからDBを照会することができます。私は休止状態を使用するときしかし、私はいずれかが起こっているとどのようにそれを修正することです何を教えてもらえます。このエラー無効なオブジェクト名hiberate 3.6

//Calling Class 
SessionFactory sf = new Configuration().configure().buildSessionFactory(); 
Session session = sf.openSession(); 
Transaction tx = session.beginTransaction(); 
session.save(survey); 
tx.commit(); <!--Blows up--> 
session.close(); 


<hibernate-configuration> 
<session-factory name="Persist"> 
<property name="hibernate.connection.driver_class">com.microsoft.sqlserver.jdbc.SQLServerDriver</property> 
<property name="hibernate.connection.password">xxxx</property> 
<property name="hibernate.connection.url">jdbc:sqlserver://xxxx</property> 
<property name="hibernate.connection.username">xxxx</property> 
<property name="hibernate.default_catalog">xxxx</property> 
<property name="hibernate.dialect">org.hibernate.dialect.SQLServer2008Dialect</property> 
<mapping class="com.springmvc.dao.Survey" resource="com/springmvc/dao/Survey.hbm.xml"/> 
</session-factory> 
</hibernate-configuration> 

//Table Mapping 
<hibernate-mapping> 
<class name="com.springmvc.dao.Survey" table="Survey"> 
    <id name="SurveyId" type="int"> 
     <column name="SURVEYID" /> 
     <generator class="assigned" /> 
    </id> 
    <property name="SurveyName" type="java.lang.String"> 
     <column name="SURVEYNAME" /> 
    </property> 
    <property name="CreateDate" type="java.sql.Date"> 
     <column name="CREATEDATE" /> 
    </property> 
    <property name="IsActive" type="boolean"> 
     <column name="ISACTIVE" /> 
    </property> 
</class> 
</hibernate-mapping> 

//The Error 
org.hibernate.exception.SQLGrammarException: could not insert: [com.springmvc.dao.Survey] 
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name 'Recruiter.Survey'. 

を取得し、それはHibernateの問題でなければなりません。私はスキルを追加しようとしましたが、Recruiter.dbo.Surveyが許可されていないというエラーが表示されます。見越すべき設定ファイルはもうなく、Googleは役に立つものを私に提供しました。ありがとう

答えて

1

主キーSurveryIdがジェネレータクラスを「割り当て済み」としている場合は、ハイバネートセッションで保存を呼び出す前にキーを割り当てる必要があります。あなたはそれをやっていますか?あなたが生成したくない場合は、それを自動生成させる。

関連する問題