在我的项目中,我使用Spring和hibernate。我使用MySql并为Ids使用自动增量。但现在我需要支持多种数据库类型。 (单独安装)。说,MySql,Oracle(11g),Postgresql等
我目前的想法是使用uuid作为主键,因为我可以切换到任何数据库,而不必担心数据库层。但由于我使用Integer进行auto_increment,我必须修改我的代码库。
有没有办法保留整数ID?或者我应该继续使用uuid?
当前实施
@Id
@GeneratedValue
@Column(name = "id", nullable = false, updatable = false)
private Integer id;
或者,(或任何其他解决方案)
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "uuid")
@Column
@Id
private String id;
答案 0 :(得分:0)
我找到了一种方法。
想法是添加注释配置并使用xml覆盖它。
XML metadata may be used as an alternative to these annotations, or to override or augment annotations
这是一个很好的教程,