2012-10-01 23 views
0

我正在開發一個應用程序(Java EE使用JPA/Hibernate,Servlet,JSP,沒有框架),我發現在特定的模塊中實現原生SQL更容易(而不是使用ORM直接解決方案)。完全沒有問題,但我希望它能夠動態生成,即:我希望我的代碼在防止持久性提供程序更改的情況下具有防彈功能。是否可以在運行時提取持久性單元配置信息?

我想要做的事,如:

MySpecificQueryMakerInterface myQueryMaker = new MySpecificQueryMakerFactory(EntityManager.getPersistenceUnit().getProvider()); 

而且在MySpecificQueryMakerFactory,創建足夠的類將執行本地SQL對我使用當前數據庫。這樣做,我將能夠創建將延伸MySpecificQueryMakerInterface的課程,如MyPostgresQueryMakerMyOracleQueryMaker,而且我只會在添加新的特定數據庫時更改工廠。

有沒有辦法使用JPA/Hibernate獲取持久化單元/數據源的信息?

回答

相關問題