- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
由于我的服务器上的 Java 和发行版更新,我需要更新我的 Play Framework 1 应用程序。
对 JDK 1.8 进行必要的更改后,一切似乎都正常。但是,当插入新记录时,出现以下错误。
08:49:44,922 ERROR ~ Error during device update (Job): org.hibernate.exception.ConstraintViolationException: could not execute statement
javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: could not execute statement
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:154)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:181)
at org.hibernate.internal.ExceptionConverterImpl.convert(ExceptionConverterImpl.java:188)
at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1460)
at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1440)
at play.db.jpa.JPABase._save(JPABase.java:58)
at play.db.jpa.GenericModel.create(GenericModel.java:375)
at models.Device.createDevice(Device.java:154)
at logic.helpers.DevicePerformer.doJobWithResult(DevicePerformer.java:104)
at logic.helpers.DevicePerformer.doJobWithResult(DevicePerformer.java:1)
at play.jobs.Job$2.apply(Job.java:224)
at play.db.jpa.JPA.withTransaction(JPA.java:285)
at play.db.jpa.JPA.withinFilter(JPA.java:238)
at play.db.jpa.JPAPlugin$TransactionalFilter.withinFilter(JPAPlugin.java:304)
at play.jobs.Job.withinFilter(Job.java:201)
at play.jobs.Job.call(Job.java:220)
at play.jobs.Job$1.call(Job.java:135)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: org.hibernate.exception.ConstraintViolationException: could not execute statement
at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:59)
at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:113)
at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:99)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:178)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3171)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3686)
at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:90)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:604)
at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:478)
at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:380)
at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)
at org.hibernate.internal.SessionImpl.doFlush(SessionImpl.java:1454)
... 19 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '215' for key 'PRIMARY'
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.Util.getInstance(Util.java:408)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3976)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3912)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2530)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2683)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2486)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1858)
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2079)
at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2013)
at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5104)
at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1998)
at com.zaxxer.hikari.pool.ProxyPreparedStatement.executeUpdate(ProxyPreparedStatement.java:61)
at com.zaxxer.hikari.pool.HikariProxyPreparedStatement.executeUpdate(HikariProxyPreparedStatement.java)
at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:175)
... 27 more
MySQL 告诉我下一个索引是 44806,这正是我所期望的。
我有两台服务器,当仅运行旧代码(Play 1.2.7)时,它工作正常,并按预期给了我一个 ID。两个服务器使用相同的数据库。
这是新的实现,给出了较低的值(在下面的示例中为 215),因此不得使用数据库中的值,而是使用其他值。我确实注意到一个名为 hibernate_sequence 的表,其中包含一个“next_val”字段,它确实给出了值接近 215。它有 25 行,其中一列的数字全部相同。
新的 Hibernate 实现是否发生了一些变化,因此我需要进行一些更改才能再次使用“下一个自动索引”?
最佳答案
不同之处在于 Hibernate 5 未指定生成策略会导致 Hibernate 使用自己的策略。
可以通过以下注释来使用 MySQL 值:
@GeneratedValue(strategy = GenerationType.IDENTITY)
关于Plat Framework 1.2.7 升级到 1.5.2 后出现 MySQLIntegrityConstraintViolationException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53258796/
我有一个闭源升级应用程序,它将我的数据库从旧格式迁移到新格式(创建新表并将数据从旧表迁移到新表)。 应用程序崩溃并出现 MySQLIntegrityConstraintViolationExcepti
我将 JPA 与 Hibernate 和 MySQL 一起使用。 我想要的是捕获MySQLIntegrityConstraintViolationException来获取unicity约束违规,并显示
此应用程序,RomeCNN , 使用 Rome 1.5.0遍历 CNN 新闻提要并将 URL 保存到数据库中。数据库拒绝重复链接。 存在 MySQLIntegrityConstraintViolati
我正在开发一个 Web 应用程序,在我提交用户唯一的表单时, MySQLIntegrityConstraintViolationException Duplicate entry -'usernam
mapper: update db_logistics.table_inventory_material set surplusAmount= when i
我真的很难理解为什么会出现这个错误。我得到它指的是我的艺术家实体中的 GLOBAL_ID 字段。我想我一定错过了有关 JPA 内部运作方式的一些信息。让我们考虑这两个实体。 @Entity publi
我似乎无法捕获这个异常,Eclipse 告诉我它“无法解析为类型”。我知道这个异常意味着我正在尝试插入重复的键值,并且我想捕获它并让用户知道。 我是否缺少导入或 jar? 谢谢:) 最佳答案 您必须首
有没有办法在插入/删除期间禁用此功能? 情况:我有一个 masterDB 和一个library1DB 和library2DB。 library1DB 和library2DB 是两个独立的数据库,但具有
当我执行EntityManager.find()时,抛出以下异常: Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstrain
我四处搜寻,但找不到任何帮助。 我正在尝试创建一个用户,但有 2 个字段始终为空(名字和部门)。 GUI (html): Firstname:
我想从 studentinfo 和 studentmarks 这两个表中获取数据。 我将 Join 与 where 子句一起使用,但它会显示: ConstraintViolationException
使用 java.sql。 使用以下类对数据库对象执行操作: public class TaskBusinessLogic { private TaskDao taskDao = null;
我正在运行 Spring Batch 并使用 JdbcPagingItemReader .使用示例配置: 我收到与以下相关的错误: Column 'id' in order clause
将新对象保存到Users表时,我在此方法调用上遇到MySQLIntegrityConstraintViolationException。 sessionFactory.getCurrentSessio
我有家长 Filter实体和一个方向Listads作为 @OneToMany 的 child 关系。我尝试使用 Hibernate hql 删除超过一周的广告查询但得到: com.mysql.jdbc
我有两个名为 Qa.java 和 Answeres.java 的实体类 我的 Qa 实体由答案列表组成。 Qa.Java @Entity @Table(name = "qa") public clas
我的观点add.scala.html是这样的 因此,如果我添加一个产品,它会显示在同一屏幕上,并且我有一个删除按钮来删除产品。我的问题是,当我添加新产品时,它工作正常,但是当我在删除任何产品后添加一个
我有两个 java hibernate 实体: @Entity public class Match_soccer extends Match{ @Id @GeneratedValue
我有一个查找表“婚姻状况”和“雇员”表。 定义到员工中的外键,用于定义该员工的婚姻状况,此列接受空值(不是必需的)。 现在我正在使用 hibernate 和 spring mvc。问题是,我正在从下拉
这个问题已经被问过很多次了,但我没有找到任何好的答案,所以我会再问一次。 我有如下的父子单向关系: @Entity @Table(name = "PARENT") public class Paren
我是一名优秀的程序员,十分优秀!