有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!


共 (4) 个答案

  1. # 1 楼答案

    下面的内容对你有用吗

    @ManyToMany(cascade = CascadeType.ALL)
    Map<String,EntityType> entitytMap = new HashMap<String, EntityType>();
    

    EntityType可以是任何实体类型,包括String

  2. # 2 楼答案

    一个有效的例子:

    @ElementCollection(fetch=FetchType.EAGER)
    @CollectionTable(name = "TABLENAME")
    @MapKeyColumn(name = "KEY")
    @Column(name = "VALUE")
    public Map<String, String> getMap() {
        return _map;
    }
    
  3. # 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. # 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;
    }               
    
    }
    

    这对我有用