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
使用投影选择几个字段时的JPA存储库名称_Jpa_Java 8_Spring Data Jpa - Fatal编程技术网

使用投影选择几个字段时的JPA存储库名称

使用投影选择几个字段时的JPA存储库名称,jpa,java-8,spring-data-jpa,Jpa,Java 8,Spring Data Jpa,我有一个实体类员工 @Entity @Table(name = "EMP_MASTER") public class Employee { private Integer employeeNumber; private String empFirstName; private String empSecondName; private int age; private String empAddress; //constructor with fiel

我有一个实体类员工

@Entity
@Table(name = "EMP_MASTER")
public class Employee {

    private Integer employeeNumber;
    private String empFirstName;
    private String empSecondName;
    private int age;
    private String empAddress;

//constructor with fields ();
//getters and setters, equals and hascode , toString();
}
然后我有了我的JPARepo接口。要选择员工id和员工姓名,我将使用投影

@Repository
public interface EmployeeRepository extends JpaRepository<Employee, Integer> {

    public List<EmpIdAndEmpNameOnly> find(); // ? nothing is works here.

}

interface EmpIdAndEmpNameOnly {

    int getEmployeeNumber();

    String getEmpFirstName();
}
@存储库
公共接口EmployeeRepository扩展了JpaRepository{
public List find();/?这里什么都不起作用。
}
接口EmpIdAndEmpNameOnly{
int getEmployeeNumber();
字符串getEmpFirstName();
}

我希望得到所有的员工号码和名字。在这种情况下,我的回购方法名称是什么?尝试了findEmployee()、FindEmployeeNumber和findEmployee(),但没有任何效果。有人能帮我弄清楚这是怎么回事吗?这让我一直很困惑。谢谢。

简单的
findAllProjectedBy
findBy()
应该可以

public List<EmpIdAndEmpNameOnly> findAllProjectedBy();
公共列表findAllProjectedBy();
在多个投影的情况下

List<Projection1> findBy(Projection1.class);
List<Projection2> findBy(Projection2.class);
List<Projection3> findBy(Projection2.class);
列表由(Projection1.class)查找;
列表由(Projection2.class)查找;
列表由(Projection2.class)查找;

查看有关动态预测的更多详细信息

它在JPA回购接口中给出了编译错误。返回类型与工作正常的JpaRepository.findAll()不兼容。谢谢。如果我在同一回购协议中有另一个投影界面呢。如果你能分享一些链接,那会很有帮助。我会接受答案,但我不清楚如何处理多重投影。它不会编译,因为它不符合过载条件。我没有问题接受答案。但与此相关的问题仍然存在。我想看看其他人能不能对此有所了解。