Я пытаюсь простить простой EntityManager внутри репозитория. Были ли у меня побочные эффекты?CDI + JPA репозиторий
Managed Bean:
@Named
@SessionScoped
public class Teste implements Serializable {
@Inject
Repository repo;
}
Repository
@RequestScoped
public class Repository {
@PersistenceContext(unitName="Test")
EntityManager em;
}
Безопасно ли использовать этот подход? Я беспокоюсь о нескольких запросах к этому веб-приложению.
Зависит от немного. Какой контейнер и версия? –
Инъекция '@ PersistenceContext' имеет смысл. Является ли конкретная проблема, заключающаяся в том, что вы вводите репозиторий с областью действия запроса в свой тестируемый класс Teste с расширенным сроком действия? Я думаю, что это нормально, потому что CDI будет внедрять прокси-сервер с запросом, который предоставит вам свежий репозиторий по каждому запросу, хотя Teste будет обладать сеансом. – wrschneider
@JohnAment, я использую Wildfly 8.2, Java 8. –