2

ユーザーにレポートを表示する Spring/Hibernate を使用して Web アプリケーションを作成しています。ユーザーが結果を CSV ファイルにエクスポートできるようにしたいと考えています。

Hibernate クエリの結果を CSV ファイルに出力する効率的な方法を提案できる人はいますか?

ありがとう!

4

5 に答える 5

2

Hibernateはオブジェクトリレーショナルマッピング用です。反対側にオブジェクトがない場合、ポイントは何ですか?

Springは、JDBCとHibernateの混合とマッチングを禁止していません。手元の問題に最適なアプローチを使用してください。ストレートJDBCは、あなたの場合に最適です。

また、これがWebアプリの場合は、SpringのAbstractJExcelViewを参照してください。おそらく、ストレートDAOを記述してデータを取得し、それをコントローラーに送り返して、JExcelViewをブラウザーにレンダリングさせることができます。ユーザーには、データがブラウザにExcelスプレッドシートとして表示されます。ブラウザから.csvファイルとして保存するオプションがあります。素敵できれい。

于 2009-01-22T17:28:27.240 に答える
1

Hibernate を使用している場合、クエリの結果はオブジェクトのリストになります。リストを反復処理し、Utility クラスを使用して、これらのオブジェクトを csv として StringBuffer に出力します。

Hibernate にオブジェクトとその依存関係の (大きな?) リストをインスタンス化させて、インスタンス化の直後にそれらを文字列データにシリアル化することは、もちろん、クロックサイクルと RAM の観点からはあまり効率的ではありませんが、開発者にとってはそうかもしれません-時間の視点。プロセッサと RAM が気になる場合は、プレーンな JDBC SQL クエリを実行して、それを csv に直接処理することをお勧めします。

于 2009-01-22T17:16:57.323 に答える
0

FileWriter を使用して hql (struts2 で Hibernate を使用しています) の結果セットを csv にエクスポートしました。hql結果セットをList(MYPojoにキャスト)に保存し、forループを使用してデータをファイルに書き込み、csvとしてエクスポートしました。私のアプリでは問題なく動作します。http://www.mkyong.com/java/how-to-export-data-to-csv-file-java/にアクセスして ください。

于 2015-04-06T04:45:40.647 に答える
0

ここでは Hibernate がより大きなアプリケーションの一部として使用されており、その一部が何かを CSV にエクスポートしていると思います。アプリケーション全体で Hibernate が使用されている場合、この 1 つの部分に JDBC を使用するのは適切ではない可能性があります。

私の仮定が正しくない場合は、JDBC が正しい選択です。それ以外の場合は、Hibernate のコレクションを繰り返し処理して CSV を構築することをお勧めします。

列の値に二重引用符が含まれているなど、CSV を作成する際にいくつかの刺激がある場合があります。ここにあなたを助けるかもしれない良いライブラリがあります:

http://ostermiller.org/utils/download.html

于 2009-01-22T17:49:08.710 に答える