当前位置: 首页 > 知识库问答 >
问题:

如何找到使用jpa hibernate支付工资的员工

孙志
2023-03-14

我有一个方法,它用一个简单的EntityManager.find(Id)返回一个按Id的雇员,但是现在我需要找到一个按Id分配了工资的雇员,(类Employeesalary通过OneTomany映射),我应该使用EntityManager.find()还是EntityManager.createquery()

@Override
public Optional<Employee> findById(Long emptNo) {
    try {
        return Optional.ofNullable(this.entityManager.find(Employee.class, emptNo));
    } catch (EmptyResultDataAccessException e) {
        return Optional.empty();
    }
}
@Override
public Optional<Employee> findByIdWithSalary(Long empNo) {
    this.entityManager.createQuery("select (e.empNo,s.salary,s.fromDate,s.toDate) as from employees e, salaries s where e.empNo=s.empNo");
    try {
        return Optional.ofNullable(this.entityManager.find(Employee.class, empNo));
    } catch (EmptyResultDataAccessException e) {
        return Optional.empty();
    }
}    

共有1个答案

壤驷彦
2023-03-14

您需要像下面这样更改查询。

@Override
public Optional<Employee> findByIdWithSalary(Long empNo) {
    this.entityManager.createQuery("select * from employees e left join e.empNo=s.empNo where s.salary >0");
    try {
        return Optional.ofNullable(this.entityManager.find(Employee.class, empNo));
    } catch (EmptyResultDataAccessException e) {
        return Optional.empty();
    }
}

如果它不工作,发送您的实体类。我们也可以这样做。

 类似资料:
  • 有两张桌子: 问题是如何找到哪个经理支付给他的员工的平均工资(+奖金)最高?

  • 嗨,我有两个班,员工和部门。我的主要功能是读取一个。txt文件,填写员工姓名、工资、部门和职位。我的员工班只是一个有成就感和有成就感的人。为了代表员工,我制作了一份ArrayList列表,我不确定如何找到每个部门的最低工资。为了找到最高工资,我在我的系课上这样做了。 但我不知道怎样才能拿到最低工资。我的想法是从每个部门获得一名员工的工资,并以此作为工作的起点 但是我意识到我不知道该怎么办。我能得到

  • 1.截图保存二维码,再使用轻推“扫一扫”,选择“相册”,加入中宝员工 2.扫码后,点击“确认加入” 3.点击右上角“关闭”按钮 4.点击“员工自助” 5.点击“进入轻应用” 6.输入工号,身份证进行关联

  • 我正在尝试使用它的RESTAPI创建Paypal支付(https://developer.paypal.com/docs/integration/direct/payments/paypal-payments/),但我找不到如何将付款发送到第三方Paypal业务帐户。可以使用RESTAPI吗?我知道这可以通过使用Paypal SDK for Asp来完成。net,但不幸的是,没有可用于asp的sd

  • 我尝试了一个sql但不起作用 员工(EID,EName,城市) 工时(EID、CID、工资) 公司(CID、CName、城市) 创建表Employee(eid int主键,ename varchar(6),city varchar(6)) 创建表工时(eid int,cid int主键,salary int) 创建表Company(cid int,cname varchar(6),city var

  • 我需要使用JGit获取与特定提交关联的分支的名称。我使用JGit获取存储库的提交SHA的完整列表,现在我需要知道它所属的分支的名称。 如果有人能让我知道我如何做到这一点,我将不胜感激。