ORA-02291: 违反完整约束条件 (*) - 未找到父项关键字
一般有三种情况:
1.在往A表插入时,外键关联的字段在B表中必须有数据,如果B表中没有数据则又这种情况;
2.产生了外键环,就是B表中被外键关联的字段又关联了C表中的字段,而C中相应字段却没有数据,则产生这种情况。
3.中的外键字段和B中的被外键关联字段数据类型和长度不一致。特别是数据长度,必须要一致。
我遇到的问题比较奇葩:
表格在建表的时候外键关联错表,所以还有一种情况要考虑到,就是建表时表外键关联是否正确;
Cause: java.lang.IllegalArgumentException: invalid comparison: java.util.Date and java.lang.String
<if test="createTime != null and createTime !='' " >
date(create_time) = date(#{createTime,jdbcType=TIMESTAMP})
</if>
# 和mysql不一样的是,orcal不需要空字符串判断
<if test="createTime != null">
date(create_time) = date(#{createTime,jdbcType=TIMESTAMP})
</if>
java.sql.SQLDataException: ORA-01861: 文字与格式字符串不匹配
TO_DATE(substr('2015-10-03',1,10),'yyyy-MM-dd')
出现的原因是:orcal数据查询clob类型数据,是地址。在转json时,会出错误情况;
解决方法:TO_CHAR(CLOB列)