I have JBoss AS 7.
I have two entities Employer and EMployee. Employee has link to employer.
I have
@Stateless
EployerService {
....
public void lockEmployer (long id) {
Employer employer = employerDAO.findById(id);
employer.setLocked(true);
employerDAO.updateEmployer(employer);
employeeDAO.updateEmployeesByEmployerId(id);
}
}
in EmployeeDAO
updateEmployeesByEmployerId (long empId) {
em.createQuery("update Employee set locked = true where emplopyerId=:id").setParameter("id", empId).executeUpdate();
}
in EmployerDAO
udpateEmplopyer(Employer employer) {
em.merge(employer);
}
When I put all logic from both dao in one DAO - no locks!