Hibernateで指定されたselect文を実行しようとすると、Internal Server Error(500エラー以外のTomcatログには何も書き込まれません)が発生します。伝統的なシンプルなselect
のステートメントを実行すると、問題はありません。Hibernate Projection select文で内部サーバエラーが発生する
私はコンソールにハイバネートクエリを記録しています。正常に動作休止クエリは、ちょうど伝統的なselect文 (select x from Entity x
)です:Javaは選択を実行しているselect x.property... from Entity x
Hibernate:
select
trumpialis0_.TLDLDNM as col_0_0_
from
LIBRARY.TABLE trumpialis0_
where
trumpialis0_.TLDLSTS='W'
を実行しているときに休止状態クエリ
Hibernate:
select
trumpialis0_.TLDLID as TLDLID1_0_,
trumpialis0_.TLDLDNM as TLDLDNM2_0_,
trumpialis0_.TLDLMSG as TLDLMSG3_0_,
trumpialis0_.TLDLNAM as TLDLNAM4_0_,
trumpialis0_.TLDLDAB as TLDLDAB5_0_,
trumpialis0_.TLDLSTS as TLDLSTS6_0_
from
LIBRARY.TABLE trumpialis0_
where
trumpialis0_.TLDLSTS='W'
です:rows = em.createQuery("select x.displayName from X where x.webStatus = 'W'").getResultList();
私の団体は次のようになります:
@Entity
@Table(name = "TABLE", schema = "LIBRARY")
@XmlRootElement
public class X {
private String id;
private String name;
private String displayName;
private String webStatus;
private String messagesPerMonth;
@Id
@Column(name = "TLDLID")
@GeneratedValue(strategy = GenerationType.AUTO)
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
....
IntellijでJPA-QLクエリを実行して、好きな列だけを取得できますが、列名が失われているようです。
特定のプロパティを選択できる方法はありますか?私はすべてを返す必要はなく、実際には "返品オブジェクト"などにキャストしたくないのです。
ゼロで除算すると、ログに役立つ情報が表示されるのですか、説明なしのプレーンな500が表示されますか? –
どこで0で除算しますか? –
が実行されると思われる場所で実行してください。おそらく "選択を実行しているJava"の直前です。 –