hibernate 级联保存失败 10

Department(一方):<setname="employees"cascade="all"inverse="true"><key><columnname="DEPT... Department(一方):
<set name="employees" cascade="all" inverse="true" >
<key>
<column name="DEPT_ID" precision="11" scale="0" />
</key>
<one-to-many class="com.accp.entity.Employee" />
</set>
Employee(多方):
<many-to-one name="department" class="com.accp.entity.Department"
fetch="select">
<column name="DEPT_ID" precision="11" scale="0" />
</many-to-one>
我用的是ORACLE的序列 然后保存总是出现以下问题:
ORA-02291: 违反完整约束条件 (ADMIN.FK_DEPT_ID) - 未找到父项关键字
这是我的方法:
public void add() {
Department dept = new Department();
Employee em1 = new Employee();
Employee em2 = new Employee();
dept.setName("开发部22");
em1.setName("小张22");
em2.setName("小王22");
em1.setDepartment(dept);
em2.setDepartment(dept);
dept.getEmployees().add(em1);
dept.getEmployees().add(em2);
session.save(dept);
展开
 我来答
HENGYI_ZHENXI
2012-11-03 · 超过10用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:28.2万
展开全部
你用的是什么关联?
是主键关联,还是对相关联?
我想是你的配置有问题!

如果是主键关联:需要在多的一方的设置中加两个属性:insert="false" update="false"
如果是对象关联:需要将多的一方的设置中,将与主键表所对应的外键的设置删掉,然后,在一对多的配置中加两个属性:insert="true" update="true"。

你试试!
serriel
2012-10-29 · TA获得超过244个赞
知道小有建树答主
回答量:253
采纳率:85%
帮助的人:61.3万
展开全部
看意思是雇员与部门产生的1对多的关系,但是为啥会出现ADMIN.FK_DEPT_ID ?
是不是你的Employee里设置了Admin的东西?或者Department里设置了Admin的外键了?
你在仔细查查你的配置文件和Bean
追问
Dept(部门) 这个是一方  Empl(多方) 我最后保存部门的时候就报错 不知道那里有问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
walker2007
2012-10-30 · TA获得超过114个赞
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:81.3万
展开全部
没看出来这里有什么问题, 你的 id 生成器是怎么配置的?
追问
什么东西 是oracle里面的序列加触发器吗
追答


hibernate_sequence

...
hibernate_sequence 是Oracle 的Sequence 的名字.
试一试这样可不可以.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一抹丶留念
2012-11-02
知道答主
回答量:11
采纳率:0%
帮助的人:6.6万
展开全部
你的employee的数据库表里有没有department的外键 啊?没有的话得加上去
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式