2013-10-10 34 views
0

我需要從XML移植到註釋 Hibernate 4.1.0上的映射。我找不到這個XML映射屬性並且等價。列出從XML到註釋的元素標記映射

<list name="series" lazy="false"> 
     <key column="query_id"/> 
     <list-index column="position"/> 
     <element column="xml_def" type="xml"/> 
</list> 

這裏的註解映射,我開始寫道:

@LazyCollection(LazyCollectionOption.FALSE) 
@ManyToMany 
@OrderColumn(name = "position") 
@JoinColumn(name = "query_id") 
public List<Serie> getSeries() { 
    return series; 
}  

但我怎麼能遷移元素標籤,以定義集合中的元素自定義類型?

回答

1

你不能在你的情況下使用@manyToMany批註,因爲你的Serie對象實際上不是一個hibernate實體,它只是作爲XML序列化。試試這個:

@LazyCollection(LazyCollectionOption.FALSE) 
@OrderColumn(name = "position") 
@JoinTable(name = "yourTable", joinColumns = @JoinColumn(name = "query_id")) 
@Type(type = "xml") 
@Column(name = "xml_def") 
@ElementCollection(targetClass = Serie.class) 
@Override 
public List<Serie> getSeries() { 
    return series; 
} 

使用這種形式,你不需要註釋你的意甲對象作爲實體。