一尘不染

多个数据库支持相同的JPA类

hibernate

我们在项目中使用MYSQL和Hibernate。

JPA用于将对象持久存储在DB中。

我们有多个具有相似代码的类

@Entity
@Table(name = "users")
class Users implement Serializable {
   @Id
   @GeneratedValue(strategy=GenerationType.AUTO)
   private Long id;
    .
    .    
    .
   public Long getId() {
    return id;
   }

   public void setId(Long id) {
    this.id = id;
   }
}

现在我们也想对oracle提供支持。我们应该怎么做?oracle不支持strategy = GenerationType.AUTO。

一个解决方案是我们可以在每个POJO中定义我们不想做的序列吗?

请提供一些建议,以便我们继续前进。


阅读 430

收藏
2020-06-20

共1个答案

一尘不染

AUTO策略也应适用于Oracle。与MySQL的区别在于它将使用序列而不是依赖于auto_increment ID。

如果需要,您甚至可以控制每个实体的序列名称:请参见oracle上的Hibernate序列,@GeneratedValue(strategy =
GenerationType.AUTO)

2020-06-20