Version: JBoss EJB-3RC8
I have a simple class hierarchy that uses joined inheritance:
@Entity @Inheritance(strategy=InheritanceType.JOINED) public class MaterialMaster { private String externalId; } @Entity @PrimaryKeyJoinColumn(name="ID") public class SparePartMaster extends MaterialMaster { }
@Entity public class RecallOrderLine { @ManyToOne(fetch=FetchType.LAZY, optional=false) private RecallOrder recallOrder; @OneToOne(fetch=FetchType.LAZY, optional=false) private MaterialMaster material; }
SELECT r FROM RecallOrderLine r WHERE r.recallOrder=:recallOrder AND r.material =:material
SELECT r FROM RecallOrderLine r WHERE r.recallOrder=:recallOrder AND r.material.externalId =:matExtKey