如何使用Java8从对象列表中删除字段,下面是我想要实现的示例
我有一个实体类作为类别(下面是示例) 我正在使用如何使用Java8从对象列表中删除字段,下面是我想要实现的示例,java,jpa,Java,Jpa,我有一个实体类作为类别(下面是示例) 我正在使用JPA,并且 findAll(); // JPA repository 我正在获取createdDate和modifiedDate,但我不想获取它们 那么,有没有办法通过删除createDate和modifiedDate字段来过滤获取的列表呢 @Entity class Category { private int id; private String name; private String address; priv
JPA
,并且
findAll(); // JPA repository
我正在获取createdDate和modifiedDate,但我不想获取它们
那么,有没有办法通过删除createDate和modifiedDate字段来过滤获取的列表呢
@Entity
class Category {
private int id;
private String name;
private String address;
private Date createDate;
private Date modifiedDate;
Category(){
}
// This constructor will be used to fetch only desired columns
Category(String id, String name, String address){
this.id = id;
this.name = name;
this.address = address;
}
}
在存储库中
需要将@Query
定义为
@Query("SELECT new com.test.Category(cat.id, cat.name, cat.address) FROM Category cat")
List<Category> findAll();
@Query(“从类别cat中选择新的com.test.Category(cat.id、cat.name、cat.address))
列出findAll();
注意:您需要将
com.test.Category
替换为Category的实际包,我想说它不是真正的“JPA”,但如果JPA实现允许,您可以使用JPA查询或尝试FetchGroup()您可以使用@query
@Query("SELECT new com.test.Category(cat.id, cat.name, cat.address) FROM Category cat")
List<Category> findAll();