Как использовать @autowired в классе EntityListener?JAVA

Программисты JAVA общаются здесь
Anonymous
Как использовать @autowired в классе EntityListener?

Сообщение Anonymous »

У меня есть база данных класса, который вводит некоторые данные через Crudrepositories в мою базу данных. Теперь я добавил EntityListener, который должен обновить число в другой таблице (таблица 2), если дата объекта не присутствует в таблице 2. Для этого я пытаюсь @autowired с Crudrepository для этого объекта. Но репозиторий не является автоматическим, он всегда нуль.@Component
public class OrderDayIdListener {

@Autowired
private static OrderRepository orderRepository;

@Autowired
private OrderDayIdRepository orderDayIdRepository;

@PrePersist
private void incrementOrderIdInTable(Order order) {
LocalDate date = order.getDate();

OrderDayId orderDayIdObject = orderDayIdRepository.findByDate(date);

if(orderDayIdObject == null){
orderDayIdObject = new OrderDayId(1L, date);
} else {
orderDayIdObject.incrementId();
}

Long orderDayId = orderDayIdObject.getId();
order.setOrderDayId(orderDayId);

orderDayIdRepository.save(orderDayIdObject);
orderRepository.save(order);
}
}
< /code>

объект: < /p>

@EntityListeners(OrderDayIdListener.class)
@Data
@Entity
public class Order {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id", updatable = false, nullable = false)
private Long id;

@Column(name ="date")
private LocalDate date;
}


Подробнее здесь: https://stackoverflow.com/questions/562 ... ener-class

Вернуться в «JAVA»