2013-07-20 2 views
0

Для определения сущности умолчанию слушателя мы настраиваем это в файле 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 файл?

спасибо.

Marcos

ответ

0

От моего понимания, нет для JPA. Одна из возможностей, о которой я могу думать, - создать базовый класс, аннотированный аннотацией @EntityListeners, и сделать из него другие сущности. Я не уверен, что это возможно или приемлемо в вашем случае.

+0

Не в моем случае. Слушание должно быть в отдельном классе, отличном от моих сущностей. – Marcos

+0

Не могли бы вы подробнее объяснить свой сценарий? Как в том, почему слушание должно быть в отдельном классе? Это потому, что вы не контролируете класс сущности, то есть другую третью сторону или любую другую причину, например. нужна зависимость от конкретной службы и т. д.? – user2507946

+0

все мои приложения используют базовую структуру, которую я создал. Таким образом, каждое приложение должно объявлять прослушиватель сущности по умолчанию в файле _orm.xml_, что приводит к дублированию. Если бы я мог программным образом создать прослушиватель сущностей по умолчанию, я бы сделал это только в базовой структуре, освободив приложения, которые от него зависят от этой работы. – Marcos

Смежные вопросы