根据Quarkus Documentation,我们可以通过@Inject注入线程安全的EntityManger。
@ApplicationScoped
public class SantaClausService {
@Inject
EntityManager em;
@Transactional
public void createGift(String giftDescription) {
Gift gift = new Gift();
gift.setName(giftDescription);
em.persist(gift);
}
}
但是,当我这样做时,警告:
No bean is eligible for injection to the injection point
来了。
尝试编译时,出现此错误:
Caused by: javax.enterprise.inject.UnsatisfiedResolutionException:
Unsatisfied dependency for type javax.persistence.EntityManager
and qualifiers [@Default]
这意味着,我必须通过必须创建并分配给该entityManager的注释来限定注入的EntityManger。使用@PersistenceContext EntityManager em
的jee不需要此功能。
在Quarkus中是否已经准备好任何合格的,可以在不发出警告的情况下使用的EntityManager?
答案 0 :(得分:1)
您的Gift
是否带有@Entity
注释?
此错误有点误导。
如果您没有@Entity
类,您也会收到此错误。
我尝试过...没有@Entity
收到错误,然后添加@Entity
对所有类进行正常工作。