Мне было интересно, если бы был способ сообщить Hibernate генерировать какое-то консольное предупреждение, когда в кеше сеанса слишком много объектов определенного типа. Я хотел бы сделать это для тестирования нагрузки, так как у нас есть проблемы с загрузкой BLOB из Oracle.Предупреждения, когда объекты не ленивы загружены в спящий режим
Пока мы используем Hibernate 3.6.10
. Наш лучший подход к этому тестированию на данный момент состоит в том, чтобы просто генерировать больше данных, чем система могла бы обрабатывать в обычном случае использования и пытаться загрузить родительский объект и посмотреть, не сработает ли он. Делать это так просто чувствует себя плохо.
Любые предложения приветствуются.
Одна нота, которую я забыл упомянуть, заключается в том, что эта идея «регистрации» - это то, что я хотел бы оставить в рабочем коде, чтобы определить конкретные проблемы.
- EDIT -
Вот пример того, что я пытаюсь сделать:
Скажем, у меня есть @Entity ClassX
, который имеет ленивую загруженный список @Entity ClassY
объектов. Некоторые, как, я хотел бы, чтобы сообщение журнала выплевывалось, когда в кеш сеанса загружено 100 или более экземпляров ClassY
. Таким образом, во время разработки я могу загрузить объект ClassX
и заметить, что если я (или другой разработчик в команде) получаю доступ к этому списку, когда мне этого не должно быть.
Являются ли эти объекты сущностями или компонентами? (Это касается записей в кеше сеанса или отдельных полей этих записей?) – meriton
Я говорю в основном о самих сущностях, но способность отслеживать компоненты также может быть приятной. Я попытаюсь обновить свой вопрос на примере. – Andy