gpt4 book ai didi

spring - Hibernate 不创建 ElementCollection 表

转载 作者:行者123 更新时间:2023-12-03 09:40:32 25 4
gpt4 key购买 nike

Hibernate 不会为下面 MetaData 类中的 dataAttributes Map 生成表。代码编译但在运行时找不到表。

import javax.persistence.*;
import java.util.HashMap;
import java.util.Map;



@Entity
public class Metadata{


private Integer id;

private Map<String,String> dataAttributes;

public Metadata(){
dataAttributes = new HashMap<>();

}

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Integer getId() {
return id;
}

public void setId(Integer id) {
this.id = id;
}

public void addDataAttribute(String key, String value){
dataAttributes.put(key,value);
}

@ElementCollection
@MapKeyColumn(name="key")
@Column(name="value")
@CollectionTable(name="data_attributes", joinColumns=@JoinColumn(name="metaData_id"))
public Map<String, String> getDataAttributes() {
return dataAttributes;
}

public void setDataAttributes(Map<String, String> dataAttributes) {
this.dataAttributes = dataAttributes;
}


}

所有其他实体和表均按预期创建,但从未生成此实体和表,并且在尝试使用级联保存与 MetaData 具有一对一关系的实体时,我得到“表 'nppcvis.data_attributes' 不存在” =所有

我正在使用以下属性:
spring.jpa.hibernate.ddl-auto=create

有任何想法吗?

最佳答案

删除除@ElementCollection 之外的所有注释会导致创建表。显然无法控制命名,但它有效。

关于spring - Hibernate 不创建 ElementCollection 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35970624/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com