我正在開發一個應用程序(Java EE使用JPA/Hibernate,Servlet,JSP,沒有框架),我發現在特定的模塊中實現原生SQL更容易(而不是使用ORM直接解決方案)。完全沒有問題,但我希望它能夠動態生成,即:我希望我的代碼在防止持久性提供程序更改的情況下具有防彈功能。是否可以在運行時提取持久性單元配置信息?
我想要做的事,如:
MySpecificQueryMakerInterface myQueryMaker = new MySpecificQueryMakerFactory(EntityManager.getPersistenceUnit().getProvider());
而且在MySpecificQueryMakerFactory,
創建足夠的類將執行本地SQL對我使用當前數據庫。這樣做,我將能夠創建將延伸MySpecificQueryMakerInterface
的課程,如MyPostgresQueryMaker
或MyOracleQueryMaker
,而且我只會在添加新的特定數據庫時更改工廠。
有沒有辦法使用JPA/Hibernate獲取持久化單元/數據源的信息?
謝謝!我會檢查這一點,並讓你知道 –