1

これらの別名"c" select ステートメントに問題があります。データベースから無効な列「c」エラーが発生します。しかし、Web のあらゆる種類の例では、このタイプの select ステートメントの記述が使用されています。

Query query = em.createQuery(
"SELECT c FROM Country c WHERE c.name = 'Canada'");
Country c = (Country)query.getSingleResult();

この書き方はベンダー固有ですか?

ご協力いただきありがとうございます?

4

3 に答える 3

2

ただのエイリアス名なので、単に c と言って選択することはできません

このようなことを試してみる必要があります。

国 c から c.name を選択 c.name='canada'

于 2012-10-18T13:03:48.900 に答える
0

SELECTを使用する場合は、データベースから必要な列を指定します。すべての列が必要な場合は、

SELECT * FROM <table>

または、テーブルを結合していて、そのテーブルの列のみを使用する場合

SELECT <table>.* FROM <table>
于 2012-10-18T13:08:07.713 に答える
0

上記の例は、クラス/エンティティに対するクエリであり、ネイティブ データベースに対するクエリではありません。C はオブジェクト インスタンスを表します。私の間違いは、ネイティブ クエリと通常のクエリを混同したことです。

于 2012-10-18T14:34:14.383 に答える