- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在我正在处理的模块中,出现了这个错误,据说这是由 org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
引起的和 java.sql.BatchUpdateException
(完整的堆栈跟踪在此处:click here)。
从其他帖子来看,这肯定是违反了主键造成的。但是我什至无法复制问题,这样我至少可以追踪真正的错误并解决问题。每次我插入一个与数据库中已有的条目相同的条目时,它会简单地相互合并并且没有错误。但是,我在部署中遇到了很多这样的错误,所以我不太确定部署服务器中发生了什么(我只是一名学生开发人员,所以我在这方面还是有点“菜鸟”)。
即使有人能指出我的方向,我也会很感激。谢谢。 (有什么需要补充的请告知)
这是模块的 hibernate 映射片段(希望这会有所帮助):
<hibernate-mapping package="edu.umd.cattlab.schema.cattXML.extensions.VaTraffic"
default-lazy="false" default-cascade="all, delete-orphan" schema="vatraffic">
<typedef class="edu.umd.cattlab.schema.hibernate.util.XMLGregorianCalendarType" name="XMLCal"/>
<class name="VaTrafficAssociatedEvent" table="associated_event">
<id name="associatedEventId" column="associated_event_id">
<generator class="sequence">
<param name="sequence">ritis.associated_event_id_seq</param>
</generator>
</id>
<property name="secondaryEventId" column="secondary_event_id" not-null="true" />
<property name="unassociatedTimestamp" type="XMLCal" column="unassociated" />
<property name="autoRelated" column="auto_related" not-null="true" />
<many-to-one name="relationshipType" column="relationship_type" not-null="true" cascade="none" />
</class>
这是利用上述映射的 Java 代码部分:click here
最佳答案
您可以拥有比主键约束更多的约束。可能是您违反了外键约束吗?或者可能是多列唯一约束。您能否包含您要更新的表的 DDL?
关于java - org.hibernate.exception.ConstraintViolationException : Could not execute JDBC batch update,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5823425/
我的服务中有一个方法: @Transactional public MyResponse create(UserCredentials cred) { User user =
mysql> alter table metakey add constraint Name unique(name); mysql> desc metakey; +-------+--------
我正在尝试使用 JPA 实体和 @SequenceGenerator 将一些数据添加到数据库中。但似乎这个生成器没有达到预期的效果,我不知道为什么。 Hibernate: call next valu
当我尝试使用 hibernate 进行 saveOrUpdate 时,出现 ConstraintViolationException。当我为用户插入一个全新的对象时,保存工作正常,但当我尝试更新时却失
我有 2 个对象实体(用户和电话),它们应该具有多对多关系。 User.java //all columns @ManyToMany(cascade = CascadeType.MERGE, fetc
这似乎应该是一个非常简单的问题,或者至少有一个简单的答案。但是 - 我真的不是数据库专家,而且我在 Hibernate 学习曲线上还差得很远。也就是说,这是设置: 考虑两个实体之间的单向多对多关系,从
我在 JEE 应用程序中有一些 SessionBean,并且喜欢使用 BeanValidation 来验证我的参数。因此整个验证过程是通用的并封装在一个地方。 我看到的唯一缺点是客户端得到一个 EJB
尽管我在日志中看到它,但我似乎无法捕捉到它。 实体 @Column(unique = true) private String email; 我正试图像这样捕获它 try { memb
我有一个具有多字段唯一约束的持久类。但是定义的唯一约束对我来说还不够,因为在一个字段上,那些不相等但相似的值也是唯一的。 我实现了一个 checkUniqueConstraint 方法。在 DAO 类
我正在使用 JSF+JPA 我没有修复这个错误: javax.validation.ConstraintViolationException: Bean Validation constraint(s
我正在编写一个 Spring 应用程序,似乎当我遇到数据库错误时,有时 Hibernate 的 ConstraintViolationException有时会抛出 Spring 的 DataInteg
如何获取导致org.hibernate.exception.ConstraintViolationException的字段名称?检查唯一约束的唯一可靠方法是事务提交,因此即使我在抛出异常之前检查它。因
我正在开发一个基于 Spring Boot 的 REST API。我正在使用自定义 ConstraintValidator 注释验证输入实体。我的问题是我无法在响应中返回 ConstraintViol
在 neo4j 2.0 中,如果您尝试对已经具有约束的索引施加约束,则会抛出 ConstraintViolationException,这是由 AlreadyConstrainedException
我正在尝试改进我在 spring MVC 应用程序中处理来自 DAO/服务层的异常的方式。我在下面使用的方法非常有效,不会导致 500 错误: Controller 代码 @RequestMappin
我有一个名为 add() 的服务方法,它用 @Transactional 注释。 我调用它,但是当在相应的 DAO 方法中发生 ConstraintViolationException 时,它会回滚事
我的数据库中有两个表:一个用于持久化用户,另一个用于保存他们的权限。 问题是,当我尝试删除用户时,必须删除权限,这样我才能避免收到违反约束的异常。我为此使用了 JPA 级联类型.ALL 和 orpha
我正在尝试将记录保存在具有多个唯一约束的表中。其中之一称为 UK_ESTABLISHMENT_REGISTERS_003,基于 2 列。 当用户尝试在表中输入重复值时,会引发约束冲突异常,但我无法检索
我正在使用 Play Framework,并具有以下代码: import org.hibernate.exception.ConstraintViolationException; ... publi
我正在努力解决这里的一个小问题。基本上我们有一个表,其中列不是 PK 但需要是唯一的,因此我们在其上添加了唯一性约束。现在,在我们的服务层中,我们希望捕获当有人创建打破该唯一性约束的记录时生成的异常,
我是一名优秀的程序员,十分优秀!