将所有实体保留在一个EJB模块中

时间:2010-02-05 16:15:00

标签: java jpa java-ee persistence ejb-3.0

很少有应用程序使用java持久性。每个应用程序都有自己的一组实体,这些实体代表DB中的相同表。例如,应用程序A具有Table1,Table2等的实体;同时,应用程序B也有Table1,Table2等实体。而不是我想创建一个带有本地接口的bean的新EJB模块,将所有实体移入其中,并将其作为库添加到项目中可能需要访问持久对象。所以,它看起来像

@Stateless
public class DataBean implements DataLocal {        
@PersistenceContext(unitName="my_data")
private EntityManager em ;  
public EntityManager getManager()
{
  return em;
};
}

我是Java-ee的新手,所以我想知道它是否是一个糟糕的设计。 提前谢谢。

1 个答案:

答案 0 :(得分:4)

  

很少有应用程序使用java持久性。

你在开玩笑吧? :)

  

而不是我想创建一个带有本地接口的bean的新EJB模块,将所有实体移入其中,并将其作为库添加到可能需要访问持久对象的项目中。

将实体放在单独的JAR中绝对是重用和模块化的正确方法。要使用此类打包实体,请使用persistence.xml中的jar-file元素,使其对每个需要它们的应用程序的打包持久性单元可见。

  

我是Java-ee的新手,所以我想知道它是否是一个糟糕的设计。提前谢谢。

我不明白无状态会话bean和getter返回EntityManager,我认为你不需要这样做。