Модуль данных Deltaspike: ни одно зерно не соответствует точке впрыска

Я пробую модуль данных DeltaSpike на Wildfly. Я следил за вещами, упомянутыми в документе, когда я пытаюсь запустить сервлет с репозиторием, я получаю исключение NullPointerException при использовании репозитория.

@Inject
private OrdersRepository orderRep;


 List<OrderDto> dao = orderRep.findByRetailer("MyRetail"); // NullPointer

Код

@Repository(forEntity = Order.class)
@MappingConfig(OrderMapper.class)
@EntityManagerConfig(entityManagerResolver = MyDBResolver.class)
public  abstract class OrdersRepository extends AbstractEntityRepository<OrderDto, String> {
@Query(named = Order.ORDER_BY_RETAILER, max = 1)
public abstract List<OrderDto> findByRetailer(String retailer); 
}

...

Я что-то пропустил здесь?


person Rajmahendra    schedule 12.11.2014    source источник
comment
Почему вы используете другой класс (OrderDto) в универсальном AbstractEntityRepository? т. е. AbstractEntityRepository‹OrderDto, String› вместо AbstractEntityRepository‹Order, String›   -  person Sri    schedule 25.11.2014


Ответы (1)


Попробуйте добавить @Dependent в свои классы репозитория.

CDI 1.1, используемый в WildFly, по умолчанию имеет неявные архивы bean-компонентов, т. е. классы-кандидаты bean-компонентов требуют аннотации, определяющей bean-компонент.

person Harald Wellmann    schedule 12.11.2014
comment
спасибо, это работает, но теперь я получаю, что таблицы ORDERS не найдены; Оператор SQL: org.hibernate.exception.SQLGrammarException: не удалось подготовить оператор для метода findAll. Я упомянул @NoSql(dataFormat = DataFormatType.MAPPED,dataType =orders) В имени таблицы монго в нижнем регистре. - person Rajmahendra; 12.11.2014