[英]Is it ever good practice to have non-transactional EJB “read” methods?
[英]EJB methods vs Entity methods,who should have what methods?
public class EntParent{
@OneToMany
List<Ent1> manyEnt1;
}
public class Ent1 {
Field1
Field2
@ManyToOne
EntParent dad;
getField1
setField1
getField2
setField2
getDad
setDad
}
public class Ent1ManagerEJB{
}
在這種情況下,誰(Ent1或Ent1ManagerEJB或EntParent)應該具有執行以下操作的方法
1)在Ent1中操作字段
2)使用一些邏輯來獲取Ent1的字段
3)如果缺少EntParent和映射,則根據對Ent1中的字段值起作用的某些邏輯來獲取其他實體
4)如果Ent1在@OneToMany與其他實體的映射中,則根據某些對Ent1中的字段值起作用的邏輯來獲取其他實體, eg EntParent contains Ent1 in array
如果可能的話,還指向一些教給我有關此類模式/問題的資源。
域對象代表目標域中的重要概念,因此通常必須是持久性的。 事實證明,Java Persistence API(JPA)非常靈活,可以將豐富的域對象映射到關系表。 您需要實現的邏輯越復雜,就越容易維護和開發面向對象的持久性。
用貧乏的結構實現復雜邏輯的真正問題是服務層中的類型區別。 可能需要大量的if語句來區分實體類型。 每次引入新的子類,甚至更改現有的業務邏輯,都需要您查找,增強和測試這些類型檢查。
Admam Bien
您可以利用Adam Bien在他的文章中談到的“域驅動設計”概念:
http://www.javaworld.com/javaworld/jw-05-2009/jw-05-domain-driven-design.html?page=2嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.