Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取异常:org.hibernate.Exception.sqlgrammareexception_Java_Hibernate - Fatal编程技术网

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非常擅长确定它连接到的数据库类型。如果需要更多帮助,则需要将代码发布到异常的来源。