![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| Alpes |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 30.11.2010 Репутация: нет Всего: нет |
Добрый день.
Неболшая прилюдия к проблеме. Нужно отслеживать изменения сущности. Достигается это легко при помощи Hibernate Envers. Вот тут и тут весьма наглядно все описано, ну почти все: http://habrahabr.ru/blogs/java/120631/ http://docs.jboss.org/hibernate/envers/3.6...US/html_single/ Кое что прописал в persistence.xml, кое что в pom'ник. Далее прописал анотацию @Audited для сущности. Хибирнейту не позволяеться создавать автоматически таблицы, так что вручную создал две необхадимые. Это REVINFO и resource_type_AUD. Все. Все работает. Изменяя, создавая и удаляя сущность в REVINFO и resource_type_AUD помещаются нужные записи. Но возникла проблема, когда понадобилось добавить кастомный атрибут в таблицу REVINFO. Это пользователь, который произвел изменение. По докам и статье на хабре все просто. Создается класс, наследуеться от DefaultRevisionEntity и прописывается анотация @org.hibernate.envers.RevisionEntity(MyRevisionListener.class) где указывается другой новый класс. MyRevisionListener реализует интерфейс RevisionListener, переопределяется метот newRevision в котором производим нужные манипуляции. Этот метод вызывается при любом изменени сущности, судя по описанию. В итоге ничего не изменилось, кто менял не попадает в таблицу. Вот код Это расширеный энтити
Это CustomListener
Что я нетак сделал? И правильно я понял, что надо в таблице REVINFO создать соответствующюю колонку и в новом классе прописывать анатацию @Column? Заране спаибо! Это сообщение отредактировал(а) Alpes - 15.8.2011, 15:44 |
||||
|
|||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |