我正在尝试使用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(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对此模式使用的术语。
发布于 2012-07-29 02:58:08
这通常是使用@Embeddable和@Embedded在hibernate注释中解决的。但是,在使用映射文件时,可以使用元件标记。
http://vuknikolic.wordpress.com/2010/11/27/embeddable-with-hbm-xml/
https://stackoverflow.com/questions/11703567
复制相似问题