Comme solution de contournement, pour obtenir une entité composée d'autres attributs d'entité, vous pouvez la créer dans la requête, en lui fournissant un constructeur.
Requête :
TypedQuery<Media> query = em.createQuery("SELECT NEW package_name.Media(m.title, b.isbn, b.authors)"
+ " FROM Book b, Media m"
+ " WHERE b.isbn = :isbn"
+ " OR lower(m.title) LIKE :title"
+ " OR b.authors LIKE :authors", Media.class);
Entité :
public Media(String title, int isbn, String author){
//-- Setting appropriate values
}
J'ai fourni un exemple, modifiez les types de données du constructeur en conséquence.