Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate:在映射对象中封装次要对象_Java_Hibernate - Fatal编程技术网

Java 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

我正在尝试使用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用于此模式的术语。

这通常通过使用@Embedded和@Embedded in Hibernate注释来解决。但是,在使用映射文件时,可以使用组件标记


这通常通过在hibernate注释中使用@Embedded和@Embedded来解决。但是,在使用映射文件时,可以使用组件标记