#sql #spring-boot #jpa
Вопрос:
Я хочу использовать порядковый номер в ProductRepository, но я продолжаю получать ошибку SQL. Я нанес на карту обе стороны.
это сущность продукта.
@Entity
public class Product extends BaseEntity {
@Id
@GeneratedValue
@Column(name = "product_id")
private Long id;
@ManyToOne
@JoinColumn(name = "orderItem_id")
private OrderItem orderItem;
this is orderItem entity.
@Entity
public class OrderItem extends BaseEntity {
@Id
@GeneratedValue
@Column(name = "orderItem_id")
private Long id;
private String orderNumber
@OneToMany(mappedBy = "orderItem", cascade = CascadeType.ALL, orphanRemoval = true)
@Builder.Default
private List<Product> products = new ArrayList<Product>();
это запрос в ProductRepository.
@Query(value = "SELECT * FROM OrderItem a, Product b WHERE a.orderItem_id = b.orderItem_id", nativeQuery = true)
Product findByOrderNumber(String orderNumber);
Комментарии:
1. Какую ошибку вы получаете? Не могли бы вы также добавить свою ошибку?
2. Возникает ошибка запроса. @Запрос(значение = «ВЫБЕРИТЕ * ИЗ заказа a, продукта b, ГДЕ a.orderItem_id = b.orderItem_id», NativeQuery = true)
Ответ №1:
В качестве альтернативы вы можете попробовать выполнить запрос методом, как показано ниже, @Query
в этом случае вам не нужно использовать.
Характеристика продукта
Product findByOrderItemOrderNumber(String orderNumber);
более подробную информацию вы можете найти здесь
Комментарии:
1. У продукта нет порядкового номера, т. е. 🙁
2. Он заберет
orderNumber
уOrderItem