2010年4月2日星期五

ADF_052:ADF-BC中EO常用操作代码之二:修改和删除EO

开发环境:JDeveloper 11.1.2.2.0 + Oracle XE Database 10gR2。

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/

没有评论: