Tengo un problema con mi modelo de dominio jpa. Solo estoy tratando de jugar con la herencia simple para la cual utilizo una simple clase base de Persona y una subclase de Cliente. De acuerdo con la documentación oficial (tanto, JPA y EclipseLink) solo necesito el atributo de ID/columna en la clase base. ¿Pero cuando ejecuto mis pruebas, siempre obtengo un error al decirme que el Cliente no tiene @Id?ID de demandas de herencia JPA en la subclase
Primero pensé que el problema radica en la visibilidad del atributo de identificación, porque era privado primero. Pero incluso después de que lo cambié por protegido (para que la subclase tenga acceso directo) no funciona.
Persona:
@Entity @Table(name="Persons")
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "TYPE")
public class Person {
@Id
@GeneratedValue
protected int id;
@Column(nullable = false)
protected String firstName;
@Column(nullable = false)
protected String lastName;
cliente:
@Entity @Table(name = "Customers")
@DiscriminatorValue("C")
public class Customer extends Person {
//no id needed here
Me estoy quedando sin ideas y recursos a la vista. Debería ser un problema bastante simple, pero simplemente no lo veo.
Tengo un problema similar. Creo que está vinculado a Eclipse.My JBoss Developer Tools se queja de la falta de @Id en una entidad derivada, pero Maven la compila sin quejarse. – Mats