如何在Spring启动应用程序中动态设置hibernate @GeneratedValue策略?

时间:2018-01-26 11:57:23

标签: hibernate jpa spring-boot hibernate-annotations

我有一个应该在开发环境中的mysql和生产环境中的sql server上运行的spring boot应用程序。 所以我希望在应用程序与@GeneratedValue(strategy = GenerationType.IDENTITY)个人资料一起运行时设置prod,并在应用程序与@GeneratedValue(strategy = GenerationType.AUTO)个人资料一起运行时设置为dev

我有BaseEntity类,所有实体都是从它扩展的:

@MappedSuperclass
public abstract class BaseEntity<T> implements Serializable {

    @Id
    @Column(name = "id", unique = true, nullable = false)
    @GeneratedValue(strategy = GenerationType.AUTO) // how to chagne this dynamically?
    private T id;

}

那么我该如何实现这个要求呢?我应该更改.yml文件或实现某些类并更改一些配置以实现此目标吗?

更新

我不想对SQL Server和MYSQL使用sequence,我想使用sql server的identity功能,并在mysql中使用序列。

0 个答案:

没有答案