Bonjour,
J'ai mappé ma classe à une table permettant de retrouver des généalogies et contenant des items. Ces derniers possèdent le code-type de leur père ainsi que leur propre code-type.
Je fais une jointure avec une table contenant une liste de matériels à partir du code et du type de mon item courant (qui est un père)
Tout ça est fait grâce à hibernate.
Mais j'ai besoin de créer la liste des fils manuellement et de la setter ensuite directement dans un champ listChild de type : le type de ma classe.
Pour être plus clair voici le début du code de ma classe :
Mon code compile mais au déploiement, j'ai un bug :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 @Entity @Table(name="PLM_BOM_ITEM") @Cache(usage=CacheConcurrencyStrategy.READ_ONLY) public class GenealogyNode implements Serializable{ private static final long serialVersionUID = 2944515151628340168L; //Parameters @EmbeddedId private GenealogyNodePK genealogyNodePK; @ManyToOne @JoinColumns({ @JoinColumn(name="PLM_BOM_HEADER__CODE",referencedColumnName="CODE"), @JoinColumn(name="PLM_BOM_HEADER_TYPE__CODE",referencedColumnName="TYPE") }) private MaterialLight materialLight; @Column(name="QTY_PER") private String quantity; @Column(name="MEASURE_UNIT__CODE") private String unit; @Column(name="ACTIVITY_STATUS__CODE") private String activity; private int level = 0; private List<GenealogyNode> listChild = new ArrayList<GenealogyNode>();
javax.persistence.PersistenceException: org.hibernate.MappingException: Could not determine type for: java.util.List, for columns:[org.hibernate.mapping.Column(listChild)]
Il me semble que c'est le fait que la structure soit récursive qui pose problème.
Mais je ne suis pas sure de bien comprendre ce qu'il se passe car je suis un peu perdue avec le mappage et les annotations.
Est ce qu'il faut que je rajoute un @Fetch ou un @LazyToOne ?
Si quelqu'un peut m'aider à comprendre ce qu'il se passe je le remercie beaucoup d'avance.
Partager