从JPA中的不同表中映射静态字段



我们的应用程序正在使用一个表将应用程序宽设置存储在这样的属性表中(使用JPA):

public class Property {
    String key; // primary key
    String value;
}

我们的一个实体之一需要具有其中一个属性,一个用于文件存储的基本目录(此类实体的所有实体相同)在静态字段中(它不需要静态,但它会使感官)。

public class FileEntity {
     public static String BASE_DIR;
     ...
}

尚无映射的人之间的映射关系,从任何一侧都没有用作外键。无论如何,是否有可能将映射定义 property value key =" dasadire" /em> fileentity的属性

base_dir 不是静态的,但是对于所有实例 fileentity 。。

,内容仍然相同

可能不像您希望的那样优雅:

@Entity
public class FileEntity {
    private static String BASE_DIR;
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long id;

有一个带有@postConstruct的属性服务来初始化所有实体

@PostConstruct
public void init() {
    FileEntity.setBaseDir(propertyRepository.findByKey("key1").getValue());
}

在所有豆被加载后,将设置您的实体上的静态字段并属于类。

最新更新