gpt4 book ai didi

java - Hibernate:使用相同连接列的多个关系

转载 作者:搜寻专家 更新时间:2023-10-30 19:49:54 25 4
gpt4 key购买 nike

我正在使用带有复合键的遗留数据库架构。我有一个具有两个关系的实体,其中一个连接列是共享的。

例如,假设我有一个具有两个关系部门和类(class)的学生实体。 Department 使用 dept_code 列,而 Course 使用 dept_code 和 course_code 列。域模型使得学生可能属于一个部门但尚未选择类(class),或者学生可能已经选择了部门和类(class)。这是 hibernate 映射的样子:

<many-to-one class="Department" name="department">
<column name="dept_code"/>
</many-to-one>

<many-to-one class="Course" name="course>
<column name="dept_code"/>
<column name="course_code"/>
</many-to-one>

问题是 Hibernate 不允许这种映射,除非使用 insert=false 和 update=false 将其中一个关系标记为只读。

有没有办法让两种关系都可写?

最佳答案

你能试试下面的方法吗

1) 在 dept_code 上设置 not-null 属性,看看会发生什么(可以接受吗?)

2) 将部门设置为只读,将类(class)设置为只读,并在 setDepartment 中创建一个类(class)对象,现有类(class)代码的 course_code 为 null 并实际使用 setCourse 并查看更新是否正常?

关于java - Hibernate:使用相同连接列的多个关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2264180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com