Hibernate - queries against criteria

In my current project, I am facing the problem of getting objects asking for hibernation criteria. I have Employees and Tasks objects.

Task object:

@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******

      

The essence of the employee:

@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 am trying to set empId from a form and display the appropriate tasks for the corresponding employee. I have to give this limitation to the API criteria. My current code looks like this. I am wondering how I can do this. please help me. 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;

}

      

+3


source to share


1 answer


Hope this helps you.



ArrayList<Tasks> TasksListByEmpId = (ArrayList<Tasks>) this
                        .getSession()
                        .createCriteria(Tasks.class,"task")
                        .setProjection(Projections.projectionList()
      .add(Projections.property("task.yourproprty_name"), "yourproprty_name")
       .add(Projections.property("task.yourproprty_name"), "yourproprty_name")
        .add(Projections.property("task.yourproprty_name"), "yourproprty_name")
      .add(Projections.property("task.yourproprty_name"), "yourproprty_name"))
                        .add("empId", tasks.employees.getEmpId()))
                        .add(Restrictions.in("task.taskStatus", statusList))
                        .setResultTransformer(Transformers.aliasToBean(Tasks.class))
                        .list();

      

0


source







All Articles