Вопрос

не может быть и речи о том, что дао не будет содержать никакого государства.

однако для более простого доступа к классу лучше использовать прототип (= каждый раз новый) или синглтон?

простое создание объектов обходится дао дешево..Как правило, он содержит только SessionFactory, доступ к объекту из списка синглтонов может быть одинаково дорогим.

уточнение:Основное внимание в этом вопросе уделяется тому, существует ли общее соглашение по определению даос.

Это было полезно?

Решение

Если ваш вопрос о архитектура, я бы выбрал область действия DAO Единица работы или транзакция, которую вы выполняете.Этот уменьшает потенциал для загрязнение перекрестных транзакций и проблемы с потоками.

Если ваш вопрос о производительность, то ответ лежит в пределах профилировщик, что дает вам точный номера для вашего конкретного нагрузка.

Другие советы

Или используйте прототип в сочетании с пулом, как описано здесь:

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/aop-api.html#aop-ts-pool

ИЛИ здесь:

http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/classic-aop-spring.html#classic-aop-ts-pool

РЕДАКТИРОВАТЬ:очевидно, я предполагаю, что здесь используется пружина.В противном случае я прошу прощения

я пришел к выводу, что не существует «идеального» способа решить эту проблему.Singleton Scope, скорее всего, является неправильным способом сделать это в веб-приложении, поскольку у вас будут разные сеансы — по одному на запрос.поэтому в веб-приложении область запроса может быть правильным ответом, но только если вы используете его исключительно в запросах, а не в фоновых задачах.Область прототипа жизнеспособна, но только если вы не храните там сложные данные.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top