問題タブ [nativequery]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ネイティブ SQL を使用して外部列を Hibernate エンティティに結合する
次のような(簡略化された)テーブル構造があります。
顧客テーブル:
別名テーブル:
次のクエリを実行すると、顧客ごとのエイリアスのリストを簡単に取得できます。
休止状態でこのクエリを使用して、 type のリストを作成したいと思いますString
。私は@Formula
次のように使用してみました:
うまくいかず、次の例外が発生しました。
これを達成する方法はありますか?もちろん一緒である必要はありません@Formula
。どんな合理的な方法でも素晴らしいでしょう。
これが私の例のSQLFiddleです
postgresql - JPA/Hibernate ネイティブクエリ (配列パラメーター) で Postgres any-clause を使用する方法
そのため、ファイルに保存され、PHP から使用される多数の Postgres SQL クエリがあります。タスクは、PHP を Java に置き換えることです。移行パスを短く保つために、クエリを「そのまま」再利用したいと考えています。配列パラメーターを機能させることができません。
クエリの例を次に示します。
配列型を想定しているため、問題の原因となる "any" 句に注意してください。これは、PHP からそれらを使用する方法です。
パラメータとして、配列型は「{111,222}」のようになります。
これは私がJavaで試したことです:
これらのどれも機能しません。次の例外のいずれかが発生します: 「toArray」メソッドを使用する場合:
または、int[] または Strings を使用すると、次のようになります。
Wireshark を使用して、両方の API がデータベースと通信しているときにこれを見つけました。
画像: Wireshark を使用したデータベース呼び出しの比較
JPA EntityManager のバックエンドとして Hibernate を使用して、ネイティブ クエリで配列パラメータを使用できた人はいますか? もしそうなら:どのように?
oracle - Oracle 10g データベースを使用する netweaver サーバーで JPA ネイティブクエリを使用しているときに無効な列名エラーが発生する
netweaver サーバーで JPA ネイティブクエリを使用しているときに、無効な列名エラーが発生します。データベースは Oracle 10g です。
ここに私のコードがあります
以下は、スローされる例外です。
ge_equip_type et [EXCEPTION]javax.ejb.EJBException: ネストされた例外は: javax.persistence.PersistenceException: クエリの実行中に SQLException が発生し、ge_equip_type et から et.eqt_desc を選択するようにマップされました
。 ...................
...................
原因: java.sql.SQLException: oracle で列名が無効です。 com.sap.engine.services.dbpool.wrappers.ResultSetWrapper.findColumn(ResultSetWrapper.ジャワ:87)
com.sap.engine.services.orpersistence.query.EntityResultFactory$NamedEntityResult.getColumnNumber(EntityResultFactory.java:239)
で com.sap.engine.services.orpersistence.core.PrimaryKey.createFromEntityResult(PrimaryKey.java:246)
で com .sap.engine.services.orpersistence.core.StoreManager.processEntityRow(StoreManager.java:1631)
at com.sap.engine.services.orpersistence.core.StoreManager.resultSet2ObjectList(StoreManager.java:1602)
com.sap.engine.services.orpersistence.core.StoreManager.executeQueryWithoutProcessingEntityInfos(StoreManager.java:1120) com.sap.engine.services.orpersistence.core.StoreManager.executeQuery(StoreManager.java:1141) com.sap .engine.services.orpersistence.core.PersistenceContextImpl.executeQuery(PersistenceContextImpl.java:937)
GeEquipType クラス
注:クエリは、すべての列または主キー列をフェッチしても文字列列をフェッチしない場合に機能します。
誰でも助けてください。