Да, это возможно.Имя генератора по умолчанию можно переопределить с помощью аннотации @SequenceGenerator
.
@MappedSuperclass
public 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;
}
}
@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.
edit
- Согласно комментарию, похоже, что он работает с EclipseLink 2.6.1-RC1.