首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Hibernate:在映射对象中封装次要对象

Hibernate:在映射对象中封装次要对象
EN

Stack Overflow用户
提问于 2012-07-29 02:22:22
回答 1查看 352关注 0票数 0

我正在尝试使用Hibernate来保存/加载如下所示的对象(这些是轮廓;为简洁起见,我省略了访问器),但是不知道要将什么放到Item.hbm.xml

代码语言:javascript
运行
复制
class Item {
  String name;
  Vec3d position;
}

class Vec3d {
  double x;
  double y;
  double z;
}

数据库架构:

代码语言:javascript
运行
复制
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基本上是这样的:

代码语言:javascript
运行
复制
...
<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对此模式使用的术语。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-07-29 02:58:08

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

http://vuknikolic.wordpress.com/2010/11/27/embeddable-with-hbm-xml/

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11703567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档