[
Показаны сообщения с ярлыком domain. Показать все сообщения
Показаны сообщения с ярлыком domain. Показать все сообщения

четверг, 15 мая 2014 г.

Hibernate Exceptions In Grails Domain Event


По неосторожности можно наткнуться на

ERROR hibernate.AssertionFailure  - an assertion failure occured (this may indicate a bug in Hibernate, but is more likely due to unsafe use of the session) Message: null id in Domain entry (don't flush the Session after an exception occurs)

пытаясь изменить свойства домена, например, в событии beforeInsert.

Простой пример:
def beforeInsert() {
    someField = fieldModificationService.modify(someField)
}

Если Hibernate сам управляет сохранением данных в базе, а по умолчанию это так, то тут может произойти flush, что в контексте события домена запрещено.

Чтобы этого не происходило можно обернуть сервис в @Transactional(readOnly = true):
@Transactional(readOnly = true)
class FieldModificationService {
    def grailsApplication
    ...
}

понедельник, 26 ноября 2012 г.

Формат hostname в URI

Периодически возникает вопрос как должен выглядеть REGEXP для domainname. Вот спецификация (пока  только BNF):


hostname      = *( domainlabel "." ) toplabel [ "." ]
domainlabel   = alphanum | alphanum *( alphanum | "-" ) alphanum
toplabel      = alpha | alpha *( alphanum | "-" ) alphanum

Взято из RFC: http://www.ietf.org/rfc/rfc2396.txt

PS: to be continued...