永続性のために、AciveJDBCでplaywebフレームワークを使用するつもりです。アクティブなJDBCの問題は、インストルメンテーションが必要なことです。私の質問は、
インストルメンテーションが必要なクラスに加えられた変更を確認するには、サーバーで再起動する必要がありますか?
永続性のために、AciveJDBCでplaywebフレームワークを使用するつもりです。アクティブなJDBCの問題は、インストルメンテーションが必要なことです。私の質問は、
インストルメンテーションが必要なクラスに加えられた変更を確認するには、サーバーで再起動する必要がありますか?
joshua:これは試みられたことがありませんが、答えはノーです。効果を得るには、モデルを変更するためにサーバーを再起動する必要があります。ただし、真のTDDを練習し、モデルを完全にテストするテストを作成する場合は、再起動する必要はありません。
Pere Villegaへ:あなたの答えは的を射ています。Hibernateは本当に人気のあるフレームワークですが、「優れたツールであること」は意見の問題であり、私見ではそうではないため、ActiveJDBCを開発しました。
小さな事実:2009年のActiveJDBCの元のバージョンは、アプリの起動後にメモリ内でその場でインストルメンテーションを実行しました。これは素晴らしいことでしたが、一部のコンテナーのクラスローダーの動作のため、これは信頼できないことが証明されています。
さらに、Ruby onRailsに似たJavaWebフレームワークを開発しました:http : //code.google.com/p/activeweb/、これはActiveJDBCと統合されています。現在、コントローラーを再コンパイル/リロードしますが、モデルを再コンパイル/計測しません。ただし、将来的にはこの機能をフレームワークに導入する予定です。
乾杯、
イゴール
免責事項として、私はあなたが言ったことを試したことはありません。しかし、Playがどのように機能するかについての私の知識から、これはActiveJDBCとPlayの統合に依存します。
私の知る限り、その統合のための既存のモジュールはありません。これは、モデル(ActiveJDBCベース)をPlayモデルに接続するために何かを作成する必要があることを意味します。たとえば、 Sienaプラグインが行うことと似ています。
完了すると、追加の変更なしで、PlayはEclipseコンパイラを使用してJavaクラスを再コンパイルするだけですが、インストルメンテーションは生成されません。そのインストルメンテーションを実行するには、再コンパイルプロセスを微調整して、インストルメンテーションも生成する必要があります。
したがって、短い答えは、デフォルトではインストルメンテーションは機能しません。
どういうわけか関連する質問:本当にActiveJDBCが必要ですか?JPA / Hibernate(Playのデフォルト)が提供しないものは何ですか?「ActiveRecord」の動作の魅力は理解していますが、Rubyコミュニティでも、その「魔法」について不満があります。JPAが十分ではないことを確認しますか?これを使用すると、Playで作業するときの時間と頭痛の種を節約でき、ORMの開発で大きなチームと多くの経験をHibernateすることができ、優れたツールになります...