Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java8从对象列表中删除字段,下面是我想要实现的示例_Java_Jpa - Fatal编程技术网

如何使用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();