Spring Data Hibernate根据方法序列化项目属性

时间:2018-12-24 20:44:27

标签: spring hibernate jackson spring-data-jpa spring-data

我有一个问题。 想象一下,我们有一个酒店实体。该实体包含例如 id,名称,国家/地区对象参考,主题照片路径和其他照片补丁列表

我正在使用Spring Boot JPA + Jackson。因此存储库就像...

@Repository
public interface HotelRepository extends CrudRepository<HotelEntity, Long> {
    List<HotelEntity> findTop3ByCountryOrderByPriorityDesc(CountryEntity country);
}

是否有可能用一些杰克逊注释实体字段来告诉Spring引导-“嘿,如果您使用此存储库方法(例如findTop3ByCountryOrderByPriorityDesc方法),请仅拍摄名称,id和主题照片。 (并且这种方法将在所有实体和方法中使用)。像

@JsonSerializeClasses({"top3Hotels", "hotels"})    
String name;

repositorz中的用法

@JsonSerializeClassesUsage({top3Hotels})
List<HotelEntity> findTop3ByCountryOrderByPriorityDesc(CountryEntitycountry);

(此方法将返回仅包含名称的酒店实体列表)。

注意:它也可以以“负”方式工作。因此,如果我用某个“类中的类”对某个字段进行注释,则该字段将不会包含在方法的返回对象中,该方法的注释中未包含此“内部类”。

在杰克逊的Spring数据中有可能吗?

或者我真的必须返回对象,并且如果我不想要某些属性,我必须遍历它们并手动将其“无效”吗?

谢谢。

0 个答案:

没有答案