![](/img/trans.png)
[英]getting exception org.hibernate.exception.SQLGrammarException:
[英]Getting Exception : org.hibernate.exception.sqlgrammarexception
嗨,我正在實現hibernate
,當我嘗試插入一條新記錄時,獲取異常org.hibernate.exception.sqlgrammarexception
我的hibernate.cfg.xml
文件:
<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"/>
它起作用了,但是我必須手動創建表。 可能是什么問題?
尋找您要引發SQL / HQL查詢的代碼段。 在這里,您可能會發現一些簡單而又難以發現的錯誤,例如拼寫錯誤的命令等。 這就是為什么SQL“語法”異常
檢查映射類“ UserDeatails”。
手動創建的表和UserDetails映射類之間不匹配。
Column_Names,Id,Constraints等可能不匹配
檢查表中的列名,並與bean中@column批注中的列名匹配。 最可能是其列不匹配。
您能否發布異常的Stacktrace,如果您可以發布將用戶添加到數據庫的代碼,那也會有所幫助。 數據庫表的列名和聲明的變量可能是一個問題。
<property name="show_sql">true</property>
<property name="format_sql">true</property>
這些必須正在生成SQL語句,請檢查“生成的SQL語句”中是否有錯誤。 發布SQL也可能有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.