2010-02-05 30 views
2

有少數應用程序使用java持久性。每個應用程序都有自己的一組實體,它們代表數據庫中的相同表格。例如,應用程序A具有Table1,Table2等的實體;同時,應用程序B還擁有Table1,Table2等的實體。我不想用一個具有本地接口的bean創建一個新的EJB模塊,而是將所有實體移動到其中,並將其作爲庫添加到項目中可能需要訪問持久對象。因此,它看起來像將所有實體保留在一個EJB模塊中

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

我很新在Java中,EE,所以我不知道它是否是一個糟糕的設計或沒有。 在此先感謝。

+0

我猜你的意思是說「我有一些使用java持久性的應用程序」,對吧? – skaffman 2010-02-06 15:46:06

+0

當然,我的意思是「我有...」 – a1ex07 2010-02-08 15:56:22

回答

4

有幾個應用程序使用java persistence。

你在開玩笑嗎? :)

取而代之,我想創建一個帶有本地接口的bean的新EJB模塊,將所有實體移入它,並將其作爲庫添加到可能需要訪問持久對象的項目。

將實體放在分離的JAR中肯定是重用和模塊化的正確方法。要使用這種打包的實體,請使用persistence.xml中的jar-file元素使它們對需要它們的每個應用程序的打包持久單元可見。

我在Java-ee中很新,所以我不知道它是否是一個糟糕的設計。提前致謝。

我沒有得到無狀態會話bean的點,並且獲取方返回EntityManager,我不認爲這是需要的。

+0

我想要的不是改變現有的來源太多。在當前,每個應用程序都有一個使用資源注入來獲取EntityManger的無狀態bean。我的想法是注入DataBean,並在需要時調用getManager()。 – a1ex07 2010-02-08 16:10:11

+0

@ a1ex07我在最後看不到差異,應用程序很可能需要一個EntityManager。所以它實際上是更多的工作和更詳細的恕我直言。但也許我錯過了一些東西。 – 2010-02-08 19:36:05

+0

我只是考慮不同的方式......我完全忘了persistence.xml可以包含jar文件部分,謝謝指出。 – a1ex07 2010-02-09 16:45:34

相關問題