0
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

如果可能的话,还可以指出一些可以教我有关此类模式/问题的资源..

4

1 回答 1

0

域对象代表目标域中的重要概念,因此通常必须是持久的。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?

于 2013-06-28T04:59:48.810 回答