У меня есть две сущности следующим образом:
@Entity
@Table(name = "tax")
public class TaxReturn {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column(name = "period")
private String fillingPeriod;
@Column(name = "created_date")
private LocalDateTime dateCreated;
@Column(name = "total_tax")
private int totalTax;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinColumn(name = "tax_id", nullable = false)
private List<Employee> employees;
}
@Entity
@Table(name = "emp")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "other_name")
private String firstName;
@Column(name = "surname")
private String lastName;
@Column(name = "tax_amount")
private int taxAmount;
}
Приведенная выше информация представляет собой возврат, который состоит из списка сотрудников, в которых указано, сколько налога было уплачено. Возвратная сущность содержит общую сумму всех сотрудников. Мне нужно написать запрос на HQL, который будет получать сотрудника, используя идентификатор возврата и идентификатор сотрудника. Ниже написано то, что я написал, но я получаю сообщение об ошибке, поскольку оно не генерирует правильный mysql.
session.getTransaction().begin();
Long taxReturnId = 5L;
Long empId = 4L;
Query query = session.createQuery("select p.employees from TaxReturn p left join Employee e where p.id = '5' and e.id = '4'");
List<Employee> employeeList = query.list();
System.out.println(employeeList.get(0).toString());
session.getTransaction().commit();
Правильный ли запрос для записи?
Спасибо,
Ashley