hibernate: session.load - PullRequest
       4

hibernate: session.load

1 голос
/ 14 января 2012

Я учусь в спящем режиме. Для проверки я вызвал session.load с неверным ключом. После того, как я перешагнул через эту строку в отладчике (JB Idea), ничего не произошло - я ожидал получить ObjectNotFoundException. Затем я открыл Expression Eval (alt + F8) и получил результат:

bookFailedLoad = {rs.hibernateTest.model.Book$$EnhancerByCGLIB$$5dd17391@2088}Method threw 'org.hibernate.ObjectNotFoundException' exception. Cannot evaluate rs.hibernateTest.model.Book$$EnhancerByCGLIB$$5dd17391.toString()
CGLIB$BOUND = true
CGLIB$CONSTRUCTED = true
CGLIB$CALLBACK_0 = {org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer@2094}
CGLIB$CALLBACK_1 = null
isbn = null
name = null
publisher = null
publishDate = null
price = 0
chapters = null

Как hb сообщил POJO, что объект недействителен. Пожалуйста, кто-нибудь может порекомендовать мне статью, чтобы помочь мне понять, что происходит под капотом, прежде чем я погрузился в приключение по отладке спящего источника.

1 Ответ

0 голосов
/ 14 января 2012

Вы должны позволить отладчику работать.load выдает исключение, если объект не найден.Если вы посмотрите в материал, который вы вставили, вы увидите

Method threw 'org.hibernate.ObjectNotFoundException' exception. Cannot evaluate rs.hibernateTest.model.Book$$EnhancerByCGLIB$$5dd17391.toString()

в первой строке.

Что касается ресурсов, книги Hibernate in Action - одна из лучших книг, которые якогда-либо купил.Это того стоит, если вы собираетесь проводить много времени в спящем режиме.Просто убедитесь, что версия книги, которую вы получаете, соответствует версии hibernate, которую вы используете.

...