2017-05-28 93 views
0

我正在使用hibernate envers(4.3.5版本)。 使用條件審計(15.8。hibernate envers doc) 我繼承了EnversIntegrator創建我自己的customerEnversIntegrator。 爲使envers使用這一個,我添加到META-INF \ services \ org.hibernate.integrator.spi.Integrator customerEnversIntegrator路徑。 它工作正常! 當我將它作爲默認值時,但更改了應用程序META-INF \ services \ org.hibernate.integrator.spi.Integrator以指出customerEnversIntegrator未被完全使用。所以它實際上不起作用 但我不希望這個聲明在jar級別。我需要從應用程序覆蓋它。作爲一個項目的原因 - 我無法控制罐子,它可能會更新等。覆蓋休眠envers的META-INF services org.hibernate.integrator.spi.Integrator

任何想法如何覆蓋此文件而不更改JAR中的任何內容?

回答

0

不知道更具體,我只能一般回答。

無論您放置ServiceLoader文件的位置,只要該文件在Hibernate引導過程中位於類路徑中,並且內容指向類路徑中也可見的類。

可能值得注意的是,在Hibernate 6中,我期待爲條件審計引入更簡化的方法,用戶可以使用實體特定的偵聽器(考慮JPA樣式實體偵聽器)。這消除了重寫任何監聽器的需要,並且可以根據需要輕鬆地將插件應用到任何實體。