Ho le seguenti entità:Entità JPA con un attributo di interfaccia, è possibile?
@Entity
public class TestCaseStep implements JPAEntity<Integer> {
...
@Column(name="STEP_NUMBER")
private Integer stepNumber;
@Enumerated(EnumType.STRING)
@Column(name="ACTION")
private Action action;
**@ManyToOne
@JoinColumn(name="connector")
private ScriptItem connector;**
mio attributo ScriptItem è un'interfaccia per 3 altre classi. È possibile configurare JPA per impostare l'id della classe corretta nell'esecuzione in runtime?
Altre risorse:
public interface ScriptItem {
String getValue();
ScriptItemType getType();
}
@Entity
@Table(name="DAT_FEED_XML")
public class FeedXml implements JPAEntity<Integer>, ScriptItem {
...
}
@Entity
@Table(name="DAT_DB_STMT")
public class DbStatement implements JPAEntity<Integer>, ScriptItem {
...
}
Quale annotazioni devo usare per far JAP capire che voglio salvare l'id di una delle 3 classi?
Grazie in anticipo,
Sì, ma le tre implementazioni di scriptitem devono ereditare da una Entità di superclasse comune, non solo un'interfaccia comune.(Il tipo di riferimento della proprietà mappata può ancora essere il tipo di interfaccia) – Affe