# 1 楼答案 下面的内容对你有用吗 @ManyToMany(cascade = CascadeType.ALL) Map<String,EntityType> entitytMap = new HashMap<String, EntityType>(); EntityType可以是任何实体类型,包括String
# 2 楼答案 一个有效的例子: @ElementCollection(fetch=FetchType.EAGER) @CollectionTable(name = "TABLENAME") @MapKeyColumn(name = "KEY") @Column(name = "VALUE") public Map<String, String> getMap() { return _map; }
# 3 楼答案 尽管Subwendu Mahanta给出的答案是正确的。但是@CollectionOfElements不受欢迎。您可以使用@ElementCollection: @ElementCollection @JoinTable(name="ATTRIBUTE_VALUE_RANGE", joinColumns=@JoinColumn(name="ID")) @MapKeyColumn (name="RANGE_ID") @Column(name="VALUE") private Map<String, String> attributeValueRange = new HashMap<String, String>(); 不需要为Map字段创建单独的实体类。它将自动完成
# 4 楼答案 假设我有一个名为Book的实体,它有一个章节地图: import java.io.Serializable; import java.util.Map; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import org.hibernate.annotations.CollectionOfElements; import org.hibernate.annotations.MapKey; @Entity public class Book implements Serializable{ @Column(name="BOOK_ID") @Id @GeneratedValue(strategy=GenerationType.AUTO) private Long bookId; @CollectionOfElements(targetElement=java.lang.String.class) @JoinTable(name="BOOK_CHAPTER", joinColumns=@JoinColumn(name="BOOK_ID")) @MapKey (columns=@Column(name="CHAPTER_KEY")) @Column(name="CHAPTER") private Map<String,String> chapters; public Long getBookId() { return bookId; } public void setBookId(Long bookId) { this.bookId = bookId; } public Map<String,String> getChapters() { return chapters; } public void setChapters(Map<String,String> chapters) { this.chapters = chapters; } } 这对我有用
# 1 楼答案
下面的内容对你有用吗
EntityType
可以是任何实体类型,包括String
# 2 楼答案
一个有效的例子:
# 3 楼答案
尽管Subwendu Mahanta给出的答案是正确的。但是
@CollectionOfElements
不受欢迎。您可以使用@ElementCollection
:不需要为
Map
字段创建单独的实体类。它将自动完成# 4 楼答案
假设我有一个名为Book的实体,它有一个章节地图:
这对我有用