2017-09-15 23 views
1

私は例外org.hibernate.exception.sqlgrammarexception取得例外:org.hibernate.exception.sqlgrammarexception

マイhibernate.cfg.xmlファイル取得新しいレコードを挿入しようとしていたとき、私は、hibernateを実装していますこんにちは:私が変更した場合は

<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> 
     <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/hibernate_db</property> 
     <property name="hibernate.connection.username">root</property> 
     <property name="hibernate.connection.password">system</property> 
     <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property> 
     <property name="show_sql">true</property> 
     <property name="format_sql">true</property> 
     <property name="hbm2ddl.auto">create</property> 
     <mapping class="com.hib.UserDetails"/> 
    </session-factory> 
</hibernate-configuration> 

<property name="hbm2ddl.auto">update</property> 
      <mapping class="com.hib.UserDetails"/> 

しかし、私は手動でテーブルを作成する必要があります。 何が問題なのですか?

+0

あなたが正しいものを選んでいると確信していない限り、私のアドバイスは特に方言を選んではいけません。 Hibernateは、それが接続しているデータベースのタイプを決定する上で非常に優れています。より多くのヘルプが必要な場合は、例外が発生した場所にコードを投稿する必要があります。 – JamesENL

答えて

0

SQL/HQLクエリを投げているコード部分を探します。 シンプルで間違ったスペルのコマンドなどの間違いを見つけるのが難しい場合があります。 そのため、SQL文法の例外

0

マッピングクラス "UserDeatails"を確認してください。

手動で作成されたテーブルとUserDetailsマッピングクラスの間に不一致があります。

おそらく不一致COLUMN_NAMES、ID、Bean内@Columnアノテーションの列名とテーブルとの試合で、列名の

0

チェック..etc制約。おそらくその列の不一致。

0

例外のStacktraceを投稿することもできます。また、ユーザーをデータベースに追加するコードを投稿することができれば助けになります。 データベースの列名と宣言された変数に問題がある可能性があります。生成されたSQL文でエラーが発生した場合

<property name="show_sql">true</property> 
<property name="format_sql">true</property> 

これらは、SQL文を生成する必要があり、確認してください。 SQLの投稿も役に立ちます。

関連する問題