1

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

JPA 用于将对象持久保存在数据库中。

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

@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 中定义我们不想做的序列?

请向我们提供一些意见,以便我们继续前进。

4

2 回答 2

2

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

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

于 2012-07-23T11:04:03.253 回答
1
@Id
    @SequenceGenerator(name="admin_seq", sequenceName="unique_id")
    @GeneratedValue(strategy=GenerationType.AUTO, generator="admin_seq")
    private Long id

为我工作,感谢您的所有回答

于 2012-07-24T05:14:00.473 回答