Bonjour à tous !J'utilise Spring/Hibernate depuis quelques mois déjà, et hier j'ai eu une erreur tout à fait étrange : org.hibernate.MappingException: Unknown entity: null.
Alors du coup je ne sais pas où chercher... Mon entité est déclarée dans mes fichiers persistance.xml et appContext-dao.xml, mes annotations semblent correctes... Bref je suis un peu pommé...
Une petite précision : mon entité possède une clé primaire composée.
Quelqu'un peut-il m'aider ?
Voici mon code :
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 @Entity @Table(name="requirement_compliance") public class RequirementCompliance implements Cloneable, Serializable { /** * */ private static final long serialVersionUID = -6536729590067656658L; @Id private RequirementComplianceKey key = new RequirementComplianceKey(); public RequirementCompliance() { super(); } public RequirementCompliance(int complianceId, int planId, int requirementId) { super(); key.setComplianceId(complianceId); key.setPlanId(planId); key.setRequirementId(requirementId); } // getters and setters }Et mon DAO :
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 Embeddable public class RequirementComplianceKey implements Serializable, Cloneable { /** * */ private static final long serialVersionUID = 8539505198359445805L; @Column(name="reqselection_id") private Integer requirementId = 0; @Column(name="compliance_id") private Integer complianceId = 0; @Column(name="plan_id") private Integer planId = 0; public RequirementComplianceKey() { super(); } public RequirementComplianceKey(Integer requirementId, Integer documentId) { super(); this.requirementId = requirementId; this.complianceId = documentId; } // getters and setters }
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 public List<Compliance> selectListByRequirement( int requirementId, int planId) { // Create the reqCompliance criteria DetachedCriteria reqComplianceCriteria = DetachedCriteria.forClass(RequirementCompliance.class) .setProjection(Projections.property("id")) .add(Restrictions.eq("requirement_id", requirementId)) .add(Restrictions.eq("plan_id", planId)) .setResultTransformer(DetachedCriteria.DISTINCT_ROOT_ENTITY); // Create the compliance criteria DetachedCriteria criteria = DetachedCriteria.forClass(Compliance.class) .add(Subqueries.propertyIn("id", reqComplianceCriteria)) .setResultTransformer(DetachedCriteria.DISTINCT_ROOT_ENTITY); // Find by criteria return getHibernateTemplate().findByCriteria(criteria); }
Partager