Jako obejście, aby uzyskać encję złożoną z innych atrybutów encji, możesz utworzyć ją w zapytaniu, dostarczając dla niej konstruktor.
Zapytanie:
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);
Jednostka:
public Media(String title, int isbn, String author){
//-- Setting appropriate values
}
Dostarczyłem próbkę, odpowiednio zmień typy danych konstruktora.