Java 获取异常:org.hibernate.Exception.sqlgrammareexception
您好,我正在实现Java 获取异常:org.hibernate.Exception.sqlgrammareexception,java,hibernate,Java,Hibernate,您好,我正在实现hibernate,当我试图插入一条新记录时,得到了异常org.hibernate.Exception.sqlgrammareexception 我的hibernate.cfg.xml文件: <hibernate-configuration> <session-factory> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver
hibernate
,当我试图插入一条新记录时,得到了异常org.hibernate.Exception.sqlgrammareexception
我的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>
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/hibernate_db
根
系统
org.hibernate.dialogue.mysqldialogue
真的
真的
创造
如果我改变主意
<property name="hbm2ddl.auto">update</property>
<mapping class="com.hib.UserDetails"/>
更新
它工作了,但我必须手动创建表。
可能是什么问题?查找抛出SQL/HQL查询的代码段。 在那里,您可能会发现一些简单但难以发现的错误,如拼写错误的命令等。
这就是为什么sql“语法”异常要查找抛出sql/HQL查询的代码段。 在那里,您可能会发现一些简单但难以发现的错误,如拼写错误的命令等。 这就是为什么sql“语法”异常检查映射类“userdetails” 手动创建的表和UserDetails映射类之间不匹配 可能不匹配的列名、Id、约束等检查映射类“userdetails” 手动创建的表和UserDetails映射类之间不匹配
列名、Id、约束等可能不匹配。请检查表中的列名,并与bean中@Column注释中的列名匹配。很可能是它的列不匹配。检查表中的列名,并与bean中@column注释中的列名匹配。最有可能是它的列不匹配。您是否可以发布异常的Stacktrace,如果您可以发布将用户添加到数据库的代码,也会有所帮助。 数据库表的列名和声明的变量可能有问题。
<property name="show_sql">true</property>
<property name="format_sql">true</property>
true
真的
它们必须生成SQL语句,请检查生成的SQL语句中是否有错误。发布SQL也会有所帮助 您是否可以发布异常的Stacktrace,如果您可以发布将用户添加到数据库的代码也会有所帮助。 数据库表的列名和声明的变量可能有问题。
<property name="show_sql">true</property>
<property name="format_sql">true</property>
true
真的
它们必须生成SQL语句,请检查生成的SQL语句中是否有错误。发布SQL也会有所帮助 我的建议是不要特别选择方言,除非你100%确定你选择的是正确的。Hibernate非常擅长确定它连接到的数据库类型。如果您需要更多帮助,您需要在异常出现的地方发布代码。我的建议是不要特别选择方言,除非您100%确定您选择了正确的方言。Hibernate非常擅长确定它连接到的数据库类型。如果需要更多帮助,则需要将代码发布到异常的来源。