gpt4 book ai didi

java - Hibernate映射异构继承对象的映射

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:56 26 4
gpt4 key购买 nike

我有下一个数据库架构:

CREATE TABLE A (id INTEGER);
CREATE TABLE Single_Values (fk_a INTEGER, fk_b INTEGER, value VARCHAR(255));
CREATE TABLE List_Values (fk_a INTEGER, fk_b INTEGER, value VARCHAR(255));
CREATE TABLE B (id INTEGER, name VARCHAR(255));

我有下一个对象模型(示意图):

class B{
Integer id;
String name;
}

class SingleValue extends B{
String value;
}

class ListValues extends B{
List<String> values;
}

class A{
Integer id;
Map<Integer, SingleValue> singleMap;
Map<Integer, ListValues> listMap;
}

接下来我做了一个到单个值的映射的映射:

<class name="B">
<id name="id"/>
<property name="name"/>
<joined-subclass name="SingleValue">
<key column="fk_b"/>
<property name="value"/>
</joined-subclass>
</class>
<class name="A">
<id name="id"/>
<map name="singleMap" table="Single_Values">
<key column="fk_a"/>
<map-key column="fk_b"/>
<one-to-many class="B"/>
</map>
</class>

我坚持使用 listMap 的映射。任何有关映射的帮助将不胜感激。

最佳答案

不要使用 map ,使用列表。如果您想查找 map 样式,请使用查询或在从数据库获取列表后构建临时 map 。另外,@annotations 会让你的生活更轻松吗?

关于java - Hibernate映射异构继承对象的映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5771423/

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