Java 休眠插入问题
我有两个实体:PS_PUBLICATION和PS_PUBLICATION_PROPERTIES PS_PUBLICATION具有PS_PUBLICATION_属性的列表 在日志中,插入看起来很好,但最后我出错了Java 休眠插入问题,java,hibernate,jpa-2.0,Java,Hibernate,Jpa 2.0,我有两个实体:PS_PUBLICATION和PS_PUBLICATION_PROPERTIES PS_PUBLICATION具有PS_PUBLICATION_属性的列表 在日志中,插入看起来很好,但最后我出错了 insert into PS_PUBLICATION (CREATION_DATE, message, FK_SUBJECTAREA_ID, status, subject, UPDATE_DATE, id) values (?, ?, ?, ?, ?, ?, ?) binding
insert into PS_PUBLICATION (CREATION_DATE, message, FK_SUBJECTAREA_ID, status, subject, UPDATE_DATE, id) values (?, ?, ?, ?, ?, ?, ?)
binding '2011-07-06 10:36:43' to parameter: 1
binding 'dc8ca7f0-9d8d-11e0-89b1-00212834363a' to parameter: 3
binding 'PUBLISHED' to parameter: 4
binding 'publication 2' to parameter: 5
binding '2011-07-06 10:36:43' to parameter: 6
binding '13d6df10-a7ab-11e0-ac48-00212834ce10' to parameter: 7
insert into PS_PUBLICATION_PROPERTIES (PROP_VALUE, PROP_KEY, FK_PUBLICATION_ID) values (?, ?, ?)
binding 'close' to parameter: 1
binding 'CALL-CATEGORY-OPEN' to parameter: 2
binding '13d6df10-a7ab-11e0-ac48-00212834ce10' to parameter: 3
06 Jul 2011 10:36:43,680 WARN org.hibernate.util.JDBCExceptionReporter:100 - SQL Error: 2291, SQLState: 23000
06 Jul 2011 10:36:43,681 ERROR org.hibernate.util.JDBCExceptionReporter:101 - ORA-02291: integrity constraint (EPF7_NOTIF.SYS_C0018903) violated - parent key not found
WARN org.hibernate.util.JDBCExceptionReporter:100
- SQL Error: 2291, SQLState: 23000 06 Jul 2011 10:36:43,690 ERROR org.hibernate.event.def.AbstractFlushingEventListener:324
- Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:94)
在插页中,每个符号看起来都很好
知道这是什么原因吗
谢谢大家!
org.hibernate.exception.ConstraintViolationException
:
JDBCException的实现,指示请求的DML操作导致违反定义的完整性约束
仔细检查要插入的数据是否不违反数据库约束。看起来数据库对这些值不满意
(如果捕获到该异常,请调用ex.getConstraintName()
,这将提供更多详细信息。)
没有注意到,约束名称在问题中;)您将在数据库中找到该约束的定义。询问您的oracle实例,它会告诉您,哪个表和哪个insert会导致问题
错误: ORA-02291:违反完整性约束-未找到父项 原因: 您试图使用唯一键或主键引用表,但列出的列与主键不匹配,或者此表不存在主键 您提供两个UUID作为外键-其中一个不是其他表中的主键。或者至少—oracle未将其识别为主键
JDBCException的实现,指示请求的DML操作导致违反定义的完整性约束 仔细检查要插入的数据是否不违反数据库约束。看起来数据库对这些值不满意 (如果捕获到该异常,请调用
ex.getConstraintName()
,这将提供更多详细信息。)
没有注意到,约束名称在问题中;)您将在数据库中找到该约束的定义。询问您的oracle实例,它会告诉您,哪个表和哪个insert会导致问题
错误: ORA-02291:违反完整性约束-未找到父项 原因: 您试图使用唯一键或主键引用表,但列出的列与主键不匹配,或者此表不存在主键 您提供两个UUID作为外键-其中一个不是其他表中的主键。或者至少—oracle未将其识别为主键
.约束名称出现在错误消息中:EPF7_NOTIF.SYS_C0018903堆栈完整性约束(EPF7_NOTIF.SYS_C0018903)中是否存在冲突-未找到父键,但如果查看插入项,则设置了所有符号:(@JB Nizet-Ah,找到了,未滚动窗口;)此EPF7_NOTIF.SYS_C0018903约束是什么?你确定这是这两个实体之间的约束吗?可能PROP_KEY或PROP_VALUE是某个参考表的外键?谢谢你的提示…这会导致正确的问题…从另一个约束复制粘贴…:(约束名称在错误消息中:EPF7_NOTIF.SYS_C0018903堆栈完整性约束(EPF7_NOTIF.SYS_C0018903)中)违反-未找到父键,但如果查看插入项,则设置了EverythSign:(@JB Nizet-Ah,找到了,没有滚动窗口;)这个EPF7_NOTIF.SYS_C0018903约束是什么?你确定它是这两个实体之间的约束吗?可能PROP_KEY或PROP_VALUE是某个参考表的外键?谢谢你的提示…它引导我找到了正确的问题…从另一个约束复制粘贴…:(