Spring,Hibernate注释配置 - 动态

时间:2018-02-05 10:49:02

标签: mysql spring hibernate spring-boot h2

我有以下要求,根据application.properties文件中的配置,我的应用程序应该在H2或Mysql数据库中运行。

因此,我应该能够为主键动态附加正确的Hibernate Sequence生成器或Identity生成器。

例如,

如果我使用MySQL数据库,

然后实体ID字段应该有以下

@Id
@GeneratedValue(generator = "IdOrGenerated")
@GenericGenerator(name = "IdOrGenerated", strategy = "com.abc.emenu.api.model.MySQLIdentityGenerator")
private Long flagId;

如果H2,

@Id
@GeneratedValue(generator = "IdOrGenerated")
@GenericGenerator(name = "IdOrGenerated", strategy = "com.abc.emenu.api.model.H2SequenceGenerator")
private Long flagId;

有没有办法动态做出这个决定

提前感谢您对解决此问题的任何见解。

0 个答案:

没有答案