集合元素映射的Map类型列

时间:2019-06-20 06:29:15

标签: java spring-boot

我试图用Map类型的列创建一个表,但出现错误“集合元素映射的列数错误”。下面是供参考的模型:

@Entity
@Table(name = "media")
public class Media {

@NotBlank
private String url;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
Long id;

@ElementCollection
private Set<String> textList = new HashSet<String>();

@ElementCollection
private Set<String> tagList = new HashSet<String>();

private String textListText;
private String tagListText;

@ElementCollection
@CollectionTable(name="media_meta_data",joinColumns=@JoinColumn(name="media_id"))
@MapKeyColumn(name="meta_key")
@Column(name="meta_value")
Map<String, Object> metaData= new HashMap<>();

public Map<String, Object> getMetaData() {
    return this.metaData;
}

public void setMetaData(Map<String, Object> metaData) {
    this.metaData = metaData;
}
}

1 个答案:

答案 0 :(得分:0)

我认为您想要一个带有外键的相关表,因此可以使用CollectionTable .. enter image description here

我的代码创建一个表名“ tbl_phone” ...

enter image description here