开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。
ADF-BC中的EO对象一般来说不需要写代码,但在实际开发中,有时需要增加一些额外的操作,这就需要写代码了。
这里把一些常用情景的代码贴出来,供大家参考。
1. 更新EO对象
2. 删除EO对象
3. 把公共方法暴露在AM的Client Interface中,这样运行AM就可以进行测试删除EO对象
4. 运行AM测试
(1)测试 updateEmployeeSalaryByEO
(2)测试 deleteEmployee
删除失败的原因是因为外键,于是到数据库中手工删除Job_History表中的Employee=900的记录。
然后再测试deleteEmployee,这次成功了。
Project 下载: ADF_BC_EO(2).7z
参考文献:
ADF-BC中的EO对象一般来说不需要写代码,但在实际开发中,有时需要增加一些额外的操作,这就需要写代码了。
这里把一些常用情景的代码贴出来,供大家参考。
1. 更新EO对象
public void updateEmployeeSalaryByEO(int employeeId, BigDecimal newSalary) { EmployeesImpl emp = retrieveEmployeeById(employeeId); if (emp != null) { emp.setSalary(newSalary); try { getTransaction().commit(); } catch (JboException ex) { getTransaction().rollback(); throw ex; } } }
2. 删除EO对象
public void deleteEmployee(int employeeId) { EmployeesImpl emp = retrieveEmployeeById(employeeId); if (emp != null) { emp.remove(); try { getTransaction().commit(); } catch (JboException ex) { getTransaction().rollback(); throw ex; } } }
3. 把公共方法暴露在AM的Client Interface中,这样运行AM就可以进行测试删除EO对象
4. 运行AM测试
(1)测试 updateEmployeeSalaryByEO
(2)测试 deleteEmployee
删除失败的原因是因为外键,于是到数据库中手工删除Job_History表中的Employee=900的记录。
然后再测试deleteEmployee,这次成功了。
Project 下载: ADF_BC_EO(2).7z
参考文献:
1. http://oracleseeker.com/2008/11/07/update_delete_entity_row/
http://maping930883.blogspot.com/2010/04/adf052adf-bceo.html