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
}
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
}
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
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);
}