2014-03-04 78 views
0

有沒有人通過將一些代碼放入一些初始化類的靜態構造函數或類似的東西來初始化數據?我想知道這樣的posibillity在哪裏:JPA初始化數據的最佳方式是什麼?

​​

您怎麼看待這種初始化數據的方式?我不相信在maven SQL插件中使用SQL查詢,因爲它具有較低的靈活性(假設數據結構可以更改,特別是列名稱)。但是,我不確定何時會加載課程。但這只是我的理論實踐,也許你正在使用比這更好的東西?謝謝。

+0

SomeDataClass的構造函數就是我把這樣的代碼。 – hd1

+0

好吧,但我必須調用構造函數?我的意思是,我需要觸發這個類在我的業務邏輯之前初始化? –

回答

0

你要儘可能晚地,並在我看來受控時刻初始化數據,所以靜態初始化是一個沒有沒有我。這取決於它是什麼類型的應用程序,我將在哪裏進行初始化。如果有一個Web層,我可能會使用特定於Web框架的初始化方法或使用Servlet上下文偵聽器來完成此操作。如果只有一個EJB層,我可能會做一個單身EJB註釋與@Startup爲這個線程我快速google搜索顯示:

EJB stateless - Private members initialisation

+0

如果你不想把它綁一個應用程序容器,JPA也可以在容器外使用。所以直Java類可以在命令行中,而不需要將其捆綁到應用程序期待的數據以及運行。 – EdH

+0

我會盡力,你說得對使用單與@Startup註釋,但我做這個答案的解決方案之前,我就檢查了這一點。謝謝。 –

-1

我會使用像Liquibase而不是EJB的東西。它專爲數據庫管理而設計。

+0

這不是問題。問題是如何結合EJB技術來做到這一點。 – Gimby

+0

嗯,也許我想,但不幸的是,使用的技術不在桌面上。 –

相關問題