gpt4 book ai didi

java - 向 JPA 实体添加动态属性

转载 作者:行者123 更新时间:2023-12-01 14:05:28 27 4
gpt4 key购买 nike

我正在构建一个 Web 应用程序,为所有客户提供通用的实体基础

现在有些客户需要额外的字段,但我不想添加全部。我想到了类似的事情:

@Embeddable
public class AdditionalDetails {

private String label;

private String text;

public AdditionalDetails() {}


// autogenerated getters and setters, hashCode(), equals()

 
@Entity
public class BusinessObject {

@Id
@Column(name = "string_id")
private long id;

@ElementCollection(fetch=FetchType.EAGER)
@MapKey(name = "language")
@CollectionTable(schema = "label", name = "multilingual_string_map",
joinColumns = @JoinColumn(name = "string_id"))
private Map<String, AdditionalDetails> map = new HashMap<String, AdditionalDetails>();

public BusinessObject() {}

// autogenerated getters and setters, hashCode(), equals()
}

不,问题是我该由谁来配置 BusinessObject 添加哪些属性?

最佳答案

您可以从基类中删除@Entity注释。然后从基类创建子类并向子类添加 @Entity 注释。现在您可以避免将所有属性放在基类中,而是可以将它们添加到适当的子类中。

关于java - 向 JPA 实体添加动态属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18942308/

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