Упорядочить по метке времени весной Данные JPA - PullRequest
0 голосов
/ 27 января 2020

Я пытаюсь получить данные из таблицы Products, где я использую findByIdOrderByTransactionDateDesc() данных JPA Spring в моем приложении весенней загрузки. Поскольку моя дата транзакции имеет тип отметки времени, я не могу получить правильный порядок выбранной записи последней отметки времени.

findByIdOrderByProductsDetails_DateDesc();

Мои Продукты Класс:

@Entity
public class Products {
    @Id
    private Integer id;
    private float price;  
    @JsonIgnore
    @OneToMany(mappedBy = "product", cascade = CascadeType.ALL)
    private List<ProductDetails> productsDetails;}

и ProductDetails класс:

@Entity
public class ProductDetails implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    @Column(name = "transaction_date")
    private Timestamp transactionDate;
    @ManyToOne
    @JoinColumn(name = "product_id")
    @JsonBackReference
    private Products product;
}

1 Ответ

0 голосов
/ 29 января 2020

productsDetails - это отношение OneToMany, и вы не можете перемещаться, используя методы репозитория Spring Data.

Вы должны использовать запрос:

@Query("select p from Products join productsDetails d where p.id = :id order by d.transactionDate desc")
findByIdOrderByProductsDetails_DateDesc(Integer id);
...