Мы используем CDI (JSR 299) в нашем приложении (JSF2/Seam3.0/Hibernate 3.5.6/GlassFish 3.1.1)CDI Инъекция в Hibernate Entities
В то время как мы не можем вводить ресурсы (Helper POJOs) в наших управляемых компонентах, использующих @Inject, мы не можем сделать то же самое в наших классах Hibernate Entity.
У нас есть базовый класс сущностей (@MappedSuperclass), из которого происходят все объекты сущности. В обоих классах происходит сбой CDI.
@MappedSuperclass
public class BaseBusinessObject implements Serializable
{
@Inject
private TestClass testClass; //FAILS
}
@Entity
@NamedQueries({ @NamedQuery(name = "Account.findAll", query = "SELECT b FROM Account b") })
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class Account extends BaseBusinessObject
{
@Inject
private TestClass testClass; //FAILS
}
Похоже, что это может быть ограничение с CDI. Может ли кто-нибудь подтвердить, работает ли CDI с объектами Hibernate.
Любые входы будут оценены.
Благодаря & уважением
Привет Себастьена, Спасибо за ваш ответ. Мы используем несколько объектов Hibernate, но все они получают (базовые свойства, такие как время создания даты) из базового класса Entity. Мы пытаемся ввести класс утилиты Date Time Utility в этот базовый класс, чтобы получить время создания Entity, и эта инъекция не удалась. – gkari