Инициализация свойства Date в beforeInsert завершается неудачей без исключения - PullRequest
0 голосов
/ 12 марта 2012

У меня есть стандартный пользовательский класс, который был создан плагином spring-security-core в Grails 2.0.1.Я использую mongodb для персистентности, используя плагин mongodb.

Если я добавлю свойство Date в класс пользователя и изменим обработчик события beforeInsert () на что-то вроде

def beforeInsert() {
    userCreated = new Date()
    encodePassword()
}

user noдольше сохраняется.Там не исключение показано.Это просто молча терпит неудачу.Если я инициализирую свойство userCreated, когда оно определено:

Date userCreated = new Date() 

и удаляю инициализацию из обработчика событий beforeInsert (), все работает нормально.У кого-нибудь есть объяснение этому поведению?

Кстати: я специально не использую функцию автоматической отметки времени, так как хочу использовать дату создания для подсчета паролей.Если я использую dateCreated с помощью автоматической отметки времени, поле dateCreated обновляется после вызова обработчика события beforeInsert (), и пароли больше не работают.

1 Ответ

0 голосов
/ 13 марта 2012

попробуйте заключить код beforeInsert в транзакцию, потому что метод encodePassword () не является служебным методом, как я полагаю

...