java.persistence.Queryインターフェイスを使用してネイティブSQLクエリを実行しようとしています。私は、上記のコードを実行すると、私のcsvファイルが正しく生成されますcsvが生成されても、 "ResultSet is update、No data"が返される
SELECT '"id"', '"numerical_values"', '"string_values"'
UNION ALL
SELECT id, numerical_values, CONCAT('"', REPLACE(string_values, '"', '""'), '"')
INTO OUTFILE '/tmp/values.csv'
FIELDS TERMINATED BY ',' ENCLOSED BY '' ESCAPED BY '\\'
LINES TERMINATED BY '\n'
FROM values_table;
Query qry = dataManager.createNativeQuery(MY_QUERY));
qry.getResultList();
が、以下の例外を除いてコードブレーク:
ネイティブクエリは、このようなものです。
java.sql.SQLException: ResultSet is from UPDATE. No Data.
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
com.mysql.jdbc.SQLError.createSQLException(SQLError.java:919)
のみgetResultList()、は、getSingleResult()と私のDataManagerオブジェクトで利用できるのexecuteUpdate()メソッドがあります。これを解決するために何をすべきかをお勧めします。このためにJDBCコードを記述する必要がありますか?
私はjavax.persistence.EntityManagerを使用しています。
あなたのクエリが結果セットを生成しません、それはとても 'getResultList'が間違っている、使用を'使用して、CSVファイルを移入executeUpdate'を実行します。 –
@MarkRotteveelすでにこれを試してみましたが、選択文としては成功しませんでした。 java.sql.SQLExceptionを取得しています:SELECTに対してexecuteUpdate()を発行できません –
面白い問題 –