Java Hibernate:在映射对象中封装次要对象
我正在尝试使用Hibernate保存/加载如下所示的对象(这些是大纲;为了简洁起见,我省略了访问器),但无法确定将什么放入Java Hibernate:在映射对象中封装次要对象,java,hibernate,Java,Hibernate,我正在尝试使用Hibernate保存/加载如下所示的对象(这些是大纲;为了简洁起见,我省略了访问器),但无法确定将什么放入Item.hbm.xml: class Item { String name; Vec3d position; } class Vec3d { double x; double y; double z; } 数据库架构: create table item ( item_id bigint primary key, name varchar(6
Item.hbm.xml
:
class Item {
String name;
Vec3d position;
}
class Vec3d {
double x;
double y;
double z;
}
数据库架构:
create table item (
item_id bigint primary key,
name varchar(64) not null,
x double not null,
y double not null,
z double not null
);
到目前为止,Item.hbm.xml
基本上是这样的:
...
<class name="Item" table="item">
<id name="id" column="item_id">
<generator class="sequence" />
</id>
<property name="name" type="string" />
<!-- ??? How do I map the position ??? -->
</class>
...
。。。
...
我找不到关于如何将位置向量作为单个对象获取的文档,而是作为字段存储在与Item类相同的行中。将其存储在一个单独的表中,并仅仅为了读取一个项目而引发连接,这似乎是浪费
我在寻找答案时遇到的困难可能是因为不知道Hibernate用于此模式的术语。这通常通过使用@Embedded和@Embedded in Hibernate注释来解决。但是,在使用映射文件时,可以使用组件标记
这通常通过在hibernate注释中使用@Embedded和@Embedded来解决。但是,在使用映射文件时,可以使用组件标记