Java org.hibernate.HibernateException:数据库未返回任何本机生成的标识值

Java org.hibernate.HibernateException:数据库未返回任何本机生成的标识值,java,mysql,hibernate,Java,Mysql,Hibernate,我从Hibernate得到这个异常 构建会话工厂 13:32:09937信息SessionFactoryObjectFactory:105-未将工厂绑定到JNDI,未配置JNDI名称 线程“main”org.hibernate.HibernateException中出现异常:数据库未返回任何本机生成的标识值 这意味着什么?我如何解决它?谢谢 我认为这意味着您试图将IDENTITY ID生成器与未正确配置的表列一起使用。它应该是一个自动增量列,标识生成器才能工作。否则,数据库不会返回任何生成的ID

我从Hibernate得到这个异常

构建会话工厂
13:32:09937信息SessionFactoryObjectFactory:105-未将工厂绑定到JNDI,未配置JNDI名称
线程“main”org.hibernate.HibernateException中出现异常:数据库未返回任何本机生成的标识值


这意味着什么?我如何解决它?谢谢

我认为这意味着您试图将IDENTITY ID生成器与未正确配置的表列一起使用。它应该是一个自动增量列,标识生成器才能工作。否则,数据库不会返回任何生成的ID。

修复此问题非常简单,只需确保正在使用的表的主键列设置了自动递增即可

解决此问题的另一种方法是为表的ID列设置自动增量。在这种情况下,您不需要手动创建表。默认情况下,它将使用hibernate创建。
更改或添加hibernate.cfg.xml>>“hibernate.hbm2ddl.auto”字段设置为“update”。

我们必须使用下面的查询
自动递增
表的
id

ALTER TABLE document MODIFY COLUMN document_id INT auto_increment

在数据库中创建表时,您可能忘记了为该特定列提供Autoincrement

您忘记在Java类中注释为“生成的值”


这将很好

请将一个答案标记为解决方案:)任何人都可以添加在SqlServer(没有“自动增量”)属性上获取此错误可能意味着什么吗?我将此作为一次性错误获取,其中创建了数千行并工作,但突然此错误出现一两次