Hibernate - Criteria Queries

Viewed 71

In my current project I've faced a problem of getting entities with hibernate criteria query. I have Employees and Tasks entities.

Tasks entity:

@Entity
@Table(name="task")
public class Tasks implements Serializable {

private static final long serialVersionUID = -7988799579036225137L;

@ManyToOne
@JoinColumn(name="employee_id")
private Employees employees;

public Employees getEmployees() {
    return employees;
}

****relevant getters & setters******

Employee entity:

@Entity
@Table(name="employee")
public class Employees implements Serializable {

private static final long serialVersionUID = -7988799579036225137L;

@Id
@Column(name="employee_id")
private String empId;

****relevant getters & setters******

I'm trying to set the empId from a form and display the relevant tasks for the relevant employee. I have to give this restriction to the criteria API. My current code is as below. I'm wondering how can i do it. please give me a help. Thanks in advance.

ViewAssignedTasksDaoImpl.java

@Repository
@Transactional
public class ViewAssignedTasksDaoImpl implements ViewAssignedTasksDao {

@Autowired
private HibernateUtilImpl hibernateutilimpl;

@Resource(name = "sessionFactory")
protected SessionFactory sessionFactory;


public List<Tasks> viewassignedTasks(Tasks tasks) {


    Session session = sessionFactory.openSession();

    Employees employees = tasks.getEmployees();

    Criteria cr = session.createCriteria(Tasks.class);
    cr.add(Restrictions.eq("empId", tasks.employees.getEmpId()));
    List<Tasks> tasksList = cr.list();

 return tasksList;

}
1 Answers
Related