微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – org.hibernate.exception.ConstraintViolationException:无法执行JDBC批量更新

在我正在处理的模块中,我收到此错误,这是由org.hibernate.exception.ConstraintViolationException引起的:无法执行JDBC批量更新
java.sql.BatchUpdateException(完整的堆栈跟踪在这里click here).

从我从其他帖子中读到的内容来看,这肯定是由于违反主键造成的.但是我甚至无法复制问题,因此我至少可以追踪真正的错误解决问题.每次我插入一个相同的条目与已经在数据库中的条目,它将只是相互合并,没有错误.但是,我在部署中遇到了很多这样的错误,所以我不太确定部署服务器中发生了什么(我只是一个学生开发人员,所以我仍然有点’noob’.

即使有人能指出我的方向,我也会很感激.谢谢. (如果需要添加某些内容,请通知我)

这是模块的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?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐