3
私の現在のプロジェクトでは、Hibernate Criteria Queryを持つエンティティを取得する問題に直面しました。私は従業員と仕事のエンティティを持っています。Hibernate - Criteria Queries
タスクエンティティ:
@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
@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******
私は、フォームからEMPIDを設定し、関連する従業員のために、関連するタスクを表示しようとしています。私はこの制限を基準APIに与えなければならない。私の現在のコードは以下の通りです。私はそれをどうやってできるのだろうと思っています。私に助けてください。前もって感謝します。
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;
}
..あなたを助けますか? – sunkuet02
すべての行が制限なく返されます。 – jsb9009
あなたのtasks.empoyees.getEmpId()が正しい値を返すかどうかを確認してログと確認を行うより良い方法 –