Java 如何以编程方式定义默认实体侦听器?

Java 如何以编程方式定义默认实体侦听器?,java,hibernate,jpa,Java,Hibernate,Jpa,要定义默认实体侦听器,我们在orm.xml文件中配置它,例如: <entity-mappings xmlns=...> <persistence-unit-metadata> <persistence-unit-defaults> <entity-listeners> <entity-listener class="com.MyClassName" />

要定义默认实体侦听器,我们在orm.xml文件中配置它,例如:

<entity-mappings xmlns=...>
    <persistence-unit-metadata>
        <persistence-unit-defaults>
            <entity-listeners>
                <entity-listener class="com.MyClassName" />
            </entity-listeners>
        </persistence-unit-defaults>
    </persistence-unit-metadata>
</entity-mappings>

问题:有没有一种方法可以通过编程来定义默认的实体侦听器,而不是在orm.xml文件中声明它

多谢各位


据我所知,对JPA来说不是。我能想到的一种可能性是创建一个基类,用
@EntityListeners
注释进行注释,并使其他实体从中扩展。但是,我不确定这在您的情况下是否可行或可接受。

在我的情况下不是。听力必须在一个独立的课堂上进行,而不是在我的实体中。你介意解释一下你的场景吗?比如为什么听力课必须分开上课?是因为您无法控制实体类(即其他第三方)还是其他原因(如需要依赖特定服务等)?我的所有应用程序都使用我创建的基本框架。因此,每个应用程序都必须在orm.xml文件中声明默认的实体侦听器,从而导致重复。如果我能以编程方式创建默认实体侦听器,我只会在基本框架中这样做,从而使依赖它的应用程序从这个工作中解脱出来。你最终解决了吗?