4


0

Enterprise ServerなしのJava Data Persistence?

本格的なエンタープライズサーバーを必要とせずに、データを保持するためのソリューションは何ですか? 私はJavaにかなり慣れていません。 uniでは、カリキュラム全体がJavaに基づいていたため、すでに少しコーディングしました。 しかし、利用可能なフレームワークでは決して深入りしませんでした。 永続化について実際に触れた唯一の方法は、「バニラ」JDBC接続を使用することでした。

いくつか掘り下げて、典型的な解決策を見つけました。 最も目立つのは「JAXB」、「JPA」、「Hibernate」および「TopLink」です。 私が知る限り、最後の2つは実際には「JPA」を実装しているだけで、これは単なる仕様です。 私はここですか?

私がこれまでに見つけたすべてのチュートリアルはこれらをかなりよく説明しており、私はJPAがとても好きだと言わざるを得ません。 しかし、私が見たすべてのチュートリアルでは、すべてをWebページを使用して説明しました。 ただし、*スイング*ベースのソリューションを探しています。 Webstartまたは同類なし。 スタンドアロンのJavaデスクトップアプリを作成したいと思います。 ターゲットオーディエンスと要件を考えると、とにかくクライアント/サーバーアーキテクチャは必要ありません。

現在、Beans Bindingのトピックもあります。 これは、私にとっては楽しそうです。 「PropertyChanged」イベントを手動で起動する必要があることを考慮しても。 正直なところ、私はいくつかの追加された行を気にしません。

そう…​ スタンドアロンのデスクトップアプリを作成し、*既存の*レガシーデータベースからデータを保存(および読み取り)するには:

フレームワーク/ライブラリ/仕様の推奨事項は何ですか?

  • JPA?

  • JDBC?

  • Beans Binding?

もう1つ重要なことは、アプリを作成するプライマリデータベースには、複数のテーブルの継承と緩やかに変化するディメンションが含まれていることです。 私はすでにTopLinkをいじくり回してきましたが、結果は良好です。 しかし、私はアプリケーションサーバーを取り除きたいです。

  1. ああ、そして…​ Beans Bindingを組み合わせて使用​​することは可能でしょうか エンティティで? プロパティを読み取り可能/書き込み可能にしますか?

2 Answer


5


JPAをお勧めします-これは標準ではありますが、Java EE仕様全体とは完全に分離されています。 エンタープライズアプリケーションサーバーを使用する必要はありません。 実際、Sunにはhttp://java.sun.com/developer/technicalArticles/J2SE/Desktop/persistenceapi/ [「デスクトップアプリケーションでのJPAの使用」]の記事があります。


0


JPA + Hibernate、メモリJavaデータベースのDerby、Swingデスクトップアプリ。 モデルクラスに注釈を付け、XMLファイルでダービードライバーとそのようなトリビアを指定した後、永続性はすべて自動で行われました。