Tengo problemas para configurar las asignaciones de jpa para algunas entidades. Tengo una entidad principal definida como la siguiente.jpa hibernate compilación de clave externa compuesta
@Entity
@Table(name="EIF_INSTANCE_HDR")
public class InstanceEntity implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(generator="eif_inst_gen")
@SequenceGenerator(name="eif_inst_gen",sequenceName="EIF_INSTANCE_SEQ")
@Column(name = "EAIH_ID")
private Long eaihid;
@Column(name = "EAD_ID")
private Long eadid;
@OneToMany(targetEntity=InstanceNotifyEntity.class, mappedBy="instance",fetch=FetchType.EAGER, cascade = CascadeType.ALL)
private List<InstanceNotifyEntity> userDetails = new ArrayList<InstanceNotifyEntity>();
}
entonces tengo una entidad secundaria w/una clave compuesta, y una clave externa a la clave principal de esta tabla como sigue:
@Entity
@Table(name="EIF_INST_NOTIFIED")
public class InstanceNotifyEntity implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@ManyToOne
@JoinColumn(name="EAIH_ID", referencedColumnName="EAIH_ID")
private InstanceEntity instance;
@Id
@Column(name="USER_ID")
private Long userId;
@Column(name="COMMENT_TXT")
private String commentText;
}
Sé que la entidad secundaria es incorrecto, pero yo No estoy seguro de cómo configurar esto para tener un PK compuesto. Sé que necesito configurar una clase PK, pero no estoy seguro de cómo hacer eso cuando un campo es una clave externa para la clase principal. Y una vez configurada, ¿cómo haría el padre referencia a la entidad hija?
Cualquier ayuda es apreciada.
Ver http://stackoverflow.com/questions/2562746/jpa-entity-design-problem/ 2563009 # 2563009 – axtavt