2012-07-28 81 views
0

我想用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用於此模式的術語而找到答案。

回答