quarkus: hibernate entityManger с инъекцией

Согласно документации Quarkus, мы можем внедрить потокобезопасный entityManger с помощью @Inject.

@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]

Это означает, что я должен квалифицировать внедренный entityManger с помощью аннотации, которую я должен создать и назначить этому entityManager. Это не понадобится в jee с @PersistenceContext EntityManager em.

Есть ли в Quarkus какой-либо подготовленный entityManager, который уже квалифицирован и готов к использованию без предупреждений?


person nimo23    schedule 28.11.2019    source источник


Ответы (1)


Есть ли у вас Gift @Entity аннотация?

Эта ошибка немного вводит в заблуждение. Если у вас нет класса @Entity, вы также получите эту ошибку.

Я пробовал ... без @Entity получить ошибку, затем я добавляю @Entity в класс, все работает нормально.

person pL4Gu33    schedule 29.11.2019