【发布时间】:2011-01-16 21:02:06
【问题描述】:
我正在使用带有复合键的旧数据库模式。我有一个具有两个关系的实体,并且其中一个连接列是共享的。
例如,假设我有一个 Student 实体,它有两个关系 Department 和 Course。 Department 使用 dept_code 列,而 Course 使用 dept_code 和 course_code 列。领域模型是这样的,学生可能属于一个系,但尚未选择课程,或者学生可能同时选择了系和课程。这是休眠映射的样子:
<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 标记为只读。
有没有办法让两个关系都可写?
【问题讨论】:
标签: java database hibernate orm jdbc