EJB方法与实体方法,谁应该有什么方法?

时间:2013-06-25 07:25:52

标签: ejb behavior entity-bean

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中与其他实体eg EntParent contains Ent1 in array

进行映射,则取决于某些处理Ent1中字段值的逻辑,获取其他实体

如果可能的话,还会指出一些教我这些模式/问题的资源。

1 个答案:

答案 0 :(得分: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