在运行时更改注释@Type的类型字段的值

时间:2019-05-27 13:24:41

标签: spring postgresql hibernate spring-el

我们在项目中使用了两个数据库:postgres和h2(用于测试) 另外,我们在postgres中使用jsonb类型,但是h2没有这种类型。 为了使测试有效,我必须解决此问题。

想法是在h2中的帐户字段中使用VARCHAR sql类型,并以字符串形式处理json。

我想在运行时为休眠@Type设置类型值,例如:

    @Column(name = "accounts")
    @Type(type = "${dynamic_type}")
    private List<Long> accounts;

要使用两个值之一,即type =“ jsonb”或type =“ my.company.JsonList,取决于dbms类型(postgresql / h2)。

我已经尝试使用SpEl,但是会导致错误,因为注释中没有值参数

有可能吗?

在不同的配置文件(测试/开发)中处理各种数据库方案(不同的数据类型)的最佳实践是什么?

0 个答案:

没有答案