Bonjour,

J'ai le problème suivant:

+ J'ai 1 entitées ayant une relation ManyToOne et chacune des clefs primaires composées (EmbeddedId):

Entity A (date, field1, field2)
Entity B (field1, field2, startDate, endDate)

+ La clef primaire de Entity B est donc un EmbeddedId composée de field1, field2, et startDate.

+ La relation entre EntityA et EntityB est la suivante (c'est plus simple de l'exprimer sous forme SQL):

SELECT EntityB.*
FROM EntityA, EntityB
WHERE EntityB.field1 = EntityA.field1
AND EntityB.field2 = EntityA.field2
AND EntityB.startDate <= EntityA.date
AND EntityB.endDate > EntityA.date

Cela retourne toujours un enregistrement unique.

=> Ma question est la suivante: est ce possible d'établir la relation entre EntityA et EntityB en utilisant les annotations JPA (par exemple pour effectuer un EntityManager.find(..) sur EntityA et de récuppérer les valeurs associées de EntityB) ou bien suis je obligé de faire cela dans une requête JPQL ?