Spring Data Jpa排序查询对象的复杂属性

时间:2016-01-22 19:06:41

标签: spring spring-data-jpa

在我的Employee对象中,我有Address对象和地址有String zipCode和streetNo。现在我需要在zipCode上对Employee对象进行排序。

我想写:

List<Employee> findAllOrderByAddressZipCodeDesc();

但我得到了:

  

找不到员工的属性邮政编码。

如何动态传递排序列名称(zipCode或streetNo)?

如何对zipCode进行排序?

1 个答案:

答案 0 :(得分:0)

有一个@Query属性可以添加到接口方法中。 这是链接

https://spring.io/blog/2014/07/15/spel-support-in-spring-data-jpa-query-definitions

这是弹簧数据mongo

的一个例子
 @Component
  public interface ItemBookedRepository extends MongoRepository<ItemBooked, String> {

 @Query(value = "{'endDate':{ $gte : ?0 },'startDate':{ $lte : ?1 } }")
  List<ItemBooked> findInRange(DateTime startDate, DateTime endDate);

  List<ItemBooked> findByItem(Item item);

 }