Java 集合元素映射对于类型为Map的列具有错误的列数

Java 集合元素映射对于类型为Map的列具有错误的列数,java,spring-boot,Java,Spring Boot,我试图用Map类型的列创建一个表,但出现错误“Collection element mapping的列数错误”。以下是供参考的模型: @Entity @Table(name = "media") public class Media { @NotBlank private String url; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Long id; @ElementCollection private Set<

我试图用Map类型的列创建一个表,但出现错误“Collection element mapping的列数错误”。以下是供参考的模型:

@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;
}
}
@实体
@表(name=“媒体”)
公共类媒体{
@不空白
私有字符串url;
@身份证
@GeneratedValue(策略=GenerationType.IDENTITY)
长id;
@元素集合
private Set textList=new HashSet();
@元素集合
私有集标记列表=新的HashSet();
私有字符串textListText;
私有字符串tagListText;
@元素集合
@CollectionTable(name=“media\u meta\u data”,joinColumns=@JoinColumn(name=“media\u id”))
@MapKeyColumn(name=“meta_key”)
@列(name=“meta_值”)
映射元数据=新建HashMap();
公共映射getMetaData(){
返回此.metaData;
}
公共void setMetaData(映射元数据){
this.metaData=元数据;
}
}

我想您需要一个带有外键的相关表,因此可以使用CollectionTable。。

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


Java
地图
不是集合。但似乎您只需要一个列(meta_值),您可能只需要使用
集合
?我想在该列中存储键和值