回避策として、他のエンティティ属性で構成されるエンティティを取得するには、クエリ内でエンティティを作成して、コンストラクタを提供します。
クエリ:
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);
エンティティ:
public Media(String title, int isbn, String author){
//-- Setting appropriate values
}
サンプルを提供しました。それに応じてコンストラクターのデータ型を変更してください。