是的,有可能。您可以使用
@SequenceGenerator注释覆盖默认的生成器名称。
基类
@MappedSuperclasspublic abstract class PersistentEntity implements Serializable{ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "default_gen") protected Long id = 0L; public Long getId() { return id; } public void setId(Long id) { this.id = id; }}序列(SQL)
create sequence role_seq;
派生类
@Entity@Table(name = "role")@SequenceGenerator(name = "default_gen", sequenceName = "role_seq", allocationSize = 1)public class Role extends PersistentEntity implements Serializable{ private static final long serialVersionUID = 1L; @NotNull @Size(max = 32) private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }这种方法在Hibernate 4.1.x中很好用,但是在Eclipselink 2.x中却没有。
编辑
- 根据评论,它似乎与Eclipselink 2.6.1-RC1一起使用。



