tengo una jerarquía de clases:¿Cuál es el mapeo de la APP adecuado para @Id en los padres y secuencial único de clases base
abstract DomainObject {
...
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator="SEQ")
@SequenceGenerator(name="SEQ",sequenceName="SEQ_DB_NAME")
@Column(name = "id", updatable = false, nullable = false)
private Long id;
...
}
BaseClass extends DomainObject {
...
// Fill in blank here where this class's @Id will use a unique sequence generator
// bonus points for any sort of automatic assignment of generator names that might
//prevent me from having to instrument all my domain objects uniquely
...
}
notas:
- No necesito específicamente un generador de clase base , entonces si me corresponde quitarlo no hay problema.
- Esta es una db Oracle 9i si eso es aplicable
- Hibernate 3.4 APP
- Primavera 2.5 está disponible, así
Gracias
Creo que esto solo funcionaría para su primera extensión de DomainObject dentro de la misma unidad de persistencia. En el siguiente, donde tiene que configurar el nombre de SequenceGenerator para que también sea "SEQ", fallaría. Al menos eso es lo que hizo el mío usando el proveedor EclipseLink JPA, y de acuerdo con javadoc http://download.oracle.com/javaee/5/api/javax/persistence/SequenceGenerator.html el nombre debe ser único. – digitaljoel
para cualquier otra persona que esté mirando este hilo ... este comentario es el caso de OpenJPA 2.2. No puede sobrecargar el nombre de SequenceGenerator. – DAJ