Spécification de la séquence distincte par table dans Hibernate sur les sous-classes

Est-il un moyen de spécifier les séquences distinctes pour chaque tableau de mise en veille prolongée, si l'ID est défini sur un mappé superclasse?

Toutes les entités de notre application s'étendent d'une super-classe appelée DataObject comme ceci:

@MappedSuperclass
public abstract class DataObject implements Serializable {
    @Id 
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    @Column(name = "id")
    private int id;
}

@Entity
@Table(name = "entity_a")
public class EntityA extends DataObject { ... }

@Entity
@Table(name = "entity_b")
public class EntityB extends DataObject { ... }

Cela provoque toutes les entités d'utiliser une séquence partagée, la valeur par défaut hibernate_sequence.

Ce que je voudrais faire est d'utiliser une séquence distincte pour chaque entité, par exemple, entity_a_sequence et entity_b_sequence dans l'exemple ci-dessus. Si l'identité a été spécifié sur la sous-classes alors que je pouvais utiliser la @SequenceGenerator annotation pour spécifier une séquence pour chaque entité, mais dans ce cas, l'ID est sur la super-classe. Étant donné que l'ID est dans la super-classe, est-il une manière que je peux utiliser une séquence distincte pour chaque entité et, si oui, comment?

(Nous utilisons PostgreSQL 8.3, dans le cas où c'est pertinent)

source d'informationauteur gutch