2012-03-01 7 views
3

私は、Play Frameworkの内部で設計したモデルを更新する大規模なオフラインプロセスがあります。私は、このコードをスタンドアローンのプロジェクトとして保つことは理にかなっていると思いますが、Playの中で設計されたJPAモデルを使用できるようにしたいと思います。Play Framework以外のPlay Frameworkモデルへのアクセス

これを処理するには、Play Frameworkとは独立したJPAモデル(別のバニラJavaプロジェクト内)を参照する方法があるのだろうかと思います。

もう1つの方法は、これまで行ってきたことですが、外部プロセスが呼び出すAPIを作成することですが、不要なネットワーク待ち時間が多く発生します。

どのようにこれを達成するための指針?

+0

オフラインプロセスの再生ジョブを作成しないのはなぜですか。プレイライブラリに依存することなくプレーンなバニラプロジェクトにこれを取り除くことはできません。 – basav

答えて

2

Play固有のJPAエンティティ(つまり、モデルを拡張する)を渡すことは、おそらくお勧めできません。あなたが必要とされないPlayジャーに依存関係を導入することになります。

私はそれを見ると次の2つの実行可能なオプションがあります。

  1. がPOJOとしてオブジェクトを作成し、使用をHibernate Xml Configデータベースへのマッピングを定義する(2.0より バージョン少ないプレイ用)。 は、pojoとconfigを完全に分離した状態に保つことができます。 Playアプリケーションのクラスパスに 設定を保存してください。

  2. オブジェクトをシリアル化された形式で渡します。 XMLまたはJSON

+0

こんにちは、ありがとう。今は#2の道を歩いていますが、#1で遊んでみて、どちらがきれいであるかを見ていきます。 – nostromo

+0

実際、私がやったことは、JPAをすべて避けて、データを直接データベースに入力したことです。記載された方法は、あまりにも遅くなった。そこで私はJPAを使用してスキーマを構築し、dbに直接データを書き込んでいました。 – nostromo