0

マップされていないテーブルから値を選択することはできますか?

ここに例があります:

これは私の給料表です:

ここに画像の説明を入力

「ALLE」、宛先「AUT」などのWAREの価格をロードしたい。ただし、オブジェクト全体ではなく、「wert」値のみが必要です。また、このテーブルをプロジェクトにマップする必要はありません。値を取得するだけで済みます。

私は次のことを試しました:

TypedQuery<Double> q = em.createQuery(
                "SELECT wert FROM TVTARIF WHERE destination like '?1' and ware like '?2'",Double.class)
                .setParameter(1, transportZertifikat.getTransportGebiet())
                .setParameter(2, "ALLE");
System.out.println(q.getSingleResult());

しかし、次のエラーが発生します。

 org.hibernate.hql.internal.ast.QuerySyntaxException: TVTARIF is not mapped [SELECT wert FROM TVTARIF WHERE destination like '?1' and ware like '?2']
4

1 に答える 1

2

createQuery の代わりに createNativeQuery を試してください。プレーンな SQL クエリを受け取り、テーブルをマップする必要はありません。

于 2013-08-19T09:29:21.763 に答える