2012-03-20 73 views
0

我使用遺留數據庫學習Hibernate。有兩個實體,一個理論上包含在另一個實體中。然而,在數據庫中,只有被包含的元素知道它被容器佔用,而不是另一個容器,這基於containertype常量。如何使用常量將休眠實體映射到另一個實體

的類是這樣的:

class Contained{ 
    private Long containerType; 
    private Long containerId; 

    ... 

    @Column(name="containerType") 
    public Long getContainerType(){ 
    return containerType; 
    } 
    @Column(name="containerId") 
    public Long getContainerId(){ 
    return containerId; 
    } 
} 

class Container1{ 
    private Long id; 
    ... 
    private Contained contained; 

    public Contained getContained(){ 
    return contained; 
    } 
} 

是否有休眠的方式來映射容器內包含的實體?容器類型在Contained實體中是常量的情況。

回答

1

爲什麼不包含一個@Embeddable

+0

我沒有使用@Embeddable,因爲我認爲它只用於包含總是在容器內部,並且可以將包含物移動到另一個容器 – im2via 2012-03-21 13:48:10

0

你也許尋找枚舉映射,像這樣:

@Enumerated(EnumType.STRING) 
private CONTAINER_TYPE container_type; 

與CONTAINER_TYPE是一個枚舉?