現在、PostgreSQLデータベースに接続するWebアプリケーションを開発中です。自分の言語としてJavaを使用しています.Mavenをビルドマネージャ(Webアプリケーションテンプレート)として使用しています。CSVデータを使用するWebアプリケーション用のJDBC付きPostgreSQLまたはHibernate
私のデータは多くのパイプ区切りファイルに含まれており、各行はテーブル内のエンティティ(各テーブルごとに1つのファイル)です。 20〜30個のテーブルがあり、それらの間の行の合計数は10億に達する。
私はpsqlにcsvインポータがあることを認識していますが、他のケースでもそれを使用しています。しかし、私は自分のアプリケーションで進歩するために最適なソフトウェアを決定しています。
私は、JDBCとHibernateの違い、利点、欠点などを知っており、それらを比較するさまざまな答えを読んでいます。私はHibernateが学習価値があると判断し、アプリケーションを最適にすると決めました。しかし、ここにはCSV輸入の問題があります。私はHibernateがこれをボックス外で実行しないことを知っています。そして、JDBCがより良い選択になるでしょう。
質問ですが、このシナリオではJDBCが明白な選択ですか?私はそれがHibernateとその逆の方が優先されるときに読んだが、私はいくつかの重複を持っていると確信することができないようだ。
私はCSVデータを読み込むためにSTDINのCopyManagerとCOPYを使用できるので、JDBCに行くのが最も理にかかりますか?私はJDBCよりも強固な利点があると思われ、新しい開発者として知るには良い技術だと思うので、私はHibernateにダイビングしたいと思っていましたが、私はこれを初めて使っていて、アドバイスが大好きです!
****明確化のために編集*****
だから私は、その後、時間をかけて、私はおそらく(CSVからもそうな)複数のテーブルを追加され、データベースにCSVデータのすべてをロードします私が決めるようにデータベースに。私のWebアプリケーションは基本的に、クライアントが作成したデータベース上で実行されるWebページ上の入力フォームにSQLクエリを入力し、必要なものを返すことを許可します。私は私のサーバーとしてtomcatを使用しています。
ありがとうございました!
Hibernateは大量の挿入のようなバッチのような操作に適していません。すべてのアプリケーションでCSVファイルをインポートする必要がある場合は、JDBCが最善の選択であるかどうかはわかりません。単純なスクリプトではないのはなぜですか?Hibernateは典型的なCRUD操作に最適です。相互接続されたエンティティのグラフをナビゲートする必要がある複雑なユースケースを含む可能性があります。 –
さらに、@ JBNizetが言ったように、あなたの "Webアプリケーション"は実際に何をしようとしていますか?それらのテキストファイルを定期的にインポートする必要がありますか?どうして?何のために?明確にするためにあなたの質問を編集してください。 –
申し訳ありませんが、説明のため編集されました! –