私はどこにいるのか分かりました。サービスレベルのオブジェクトをエンティティパッケージに入れる傾向があります。これは私のエンティティクラスのコンセプトが間違っているのか疑問に思いました。エンティティクラスはリレーショナルデータベースのテーブルを表していましたが、私は正しいのですか?もしそうなら、あなたはこれらのオブジェクトをどこに置くことを推奨しますか?おそらくServiceオブジェクトパッケージにありますか?私のサービスオブジェクトは本当にエンティティパッケージに属していますか?
0
A
答えて
1
私はそれらを論理的に分離します。データアクセス層、サービス層などがあっても、懸念事項の分離です。私は、ボードの上に少し行く傾向にあるが、私は次のように何かの操作を行います。あなたが同じプロジェクトですべてを維持する場合、ある
app
--model
----PersonEntity.java (JPA annotated entity)
--service
----PersonService.java (interface)
--web
----PersonController.java (SpringMVC Controller, Struts action, etc.)
--internal
----PersonServiceImpl.java (Contains JPA EntityManager, e.g.)
を。おそらくサービスとモデルコードをそれ自身のプロジェクトに分けることになります。たとえば、別のWebサービスを作成して同じドメインモデルを再利用する場合などです。
私はDAOのファンではありませんが、かなり流行しています。私はどこにDAOを置くのか分からないが、おそらく同じコンベンションに従うだろう。余分なパッケージは別のフォルダにすぎません。それは大したことではなく、できるだけコードを整理するのが理にかなっています。
1
ここでは、エンティティオブジェクトをモジュール内のパッケージ内に定義します。次に、サービスインターフェイスは同じモジュール内の同じパッケージにありますが、実装は別のモジュールの同じパッケージにあります。 EntityXに関連するすべてのコードを同じパッケージ内に保つことは良いことです。エンティティ、Dao、およびサービスの定義と実装が含まれます。
関連する問題
- 1. 私は本当にこのものをロックしていますか?
- 2. font-sizeは本当に何に対応していますか?
- 3. SparkのAPI newHadoopRDDは本当に何をしていますか?
- 4. Android Studioのクリーンプロジェクトは本当に何をしていますか?
- 5. Cocos2dはC++ファイルを許容していませんか? (私は本当にCAStreamBasicDescriptionに固執しています)
- 6. ネイティブは本当にAndroidフラグメントをサポートしていますか?
- 7. GRASP Creatorは本当に切り離していますか?
- 8. django querysetは本当に何をしていますか?
- 9. Android claimInterfaceは本当に何をしていますか?
- 10. Android Twitter OAuthは本当に動作していますか?
- 11. rbind.fill.matrixは本当に何をしていますか?
- 12. レイトレーシングについては本当に良い本がありますか?
- 13. 私は本当にPython用のループ文で苦労していますPythonの
- 14. スウィフトNSURLSession本当に本当に遅い
- 15. 私はプログラミングに本当に新しいです
- 16. (本当に)ロックしていないファイルを開きますか?
- 17. Vimは本当にいいですか?
- 18. 私のパイゲームは本当に遅いですか?
- 19. Qtのスタイルシートは本当に_dynamic_プロパティを扱っていますか?
- 20. 本当に待っていますTask.Run()
- 21. C99のサポートは本当に広まっていませんか?
- 22. 私は本当に良いオープンソースのMIDIライブラリ(特にピアノ音)のアイデアを探していますか?
- 23. FlexsliderがChromeで私のウェブページを本当に乱している
- 24. 本当にASP.NETラベルにText属性が必要ですか?
- 25. initWithNibNameは本当にとにかく何をしていますか?
- 26. 本当にC#で 'using'ブロックを使用していますか?
- 27. アーランは本当に速いですか?
- 28. プログラムスタックが本当にオーバーフローしますか?
- 29. GoogleアナリティクスAPIサービスオブジェクト - 管理属性なし
- 30. aは関数なので、 `a.call.call`は本当に何をしていますか?