В Seam в чем разница между введенным EntityManager и getEntityManager из EntityHome ?
Никто.
При использовании getEntityManager из EntityHome Seam будет искать управляемый Seam контекст персистентности с именем entityManager . Если вы настроите свой управляемый швом контекст персистентности с другим именем, чем entityManager , ваш EntityHome выдаст исключение.
Вот реализация по умолчанию getEntityMananger в EntityHome
public EntityManager getEntityManager() {
return (EntityMananger) Component.getInstance("entityManager");
}
И при использовании @ In-jected EntityManager Seam будет работать так, как показано выше. Оба являются одним и тем же контекстом управляемости шва.
Помните, что Seam выполняет поиск по имени поля @ In-jected Component. Например:
@In
EntityManager entityManager;
Поскольку имя поля EntityManager entityManager , Seam будет выполнять иерархический поиск с использованием этого имени;
Здесь и здесь вы можете увидеть, как настроить контекст управляемой шовности.
С уважением,