Bonjour à tous,
Je me retrouve confronté à un nouveau problème avec Hibernate. Je n'arrive pas à désactiver le polymorphisme pour la sélection d'une entité.
Je m'explique :
J'ai une entité System et une entité SystemDetails qui hérite de System et qui possède quelques collection en plus...
Je voudrais faire un select des "System" sans faire l'union avec SystemDetails... Comment faire ?
J'ai essayé d'utiliser l'annotation
@org.hibernate.annotations.Entity(polymorphism = PolymorphismType.EXPLICIT), mais ça ne marche pas plus.
Voici mes mappings :
Code:
@Entity
@Table(name="system")
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public class PlanSystem implements ISystemItem, Cloneable {
@Id
@GeneratedValue(strategy=GenerationType.TABLE)
protected int id = 0;
@Column
private String name;
//...
}
Code:
@Entity
@org.hibernate.annotations.Entity(polymorphism = PolymorphismType.EXPLICIT)
@Table(name="systemdetails")
public class PlanSystemDetails extends PlanSystemNoded implements Serializable {
private static final long serialVersionUID = -7292450928312927315L;
@OneToMany(mappedBy="system", fetch=FetchType.EAGER,
cascade={CascadeType.PERSIST, CascadeType.DETACH, CascadeType.MERGE})
private Set<Requirement> requirementsList =
new HashSet<Requirement>();
//...
}
Il doit bien y avoir une solution !? J'utilise Spring, la classe HibernateDaoSupport propose peut-être une méthode ?