使用EJB3.O簡化EJB開發(三)
來源:互聯網
上載者:User
簡化持久化容器管理
CMP實體bean將成為EJB3.0使得開發人員強制使用的一個主要的檢查方式。持久化架構象如OracleAS TopLink, 開源的Hibernate已經成為不像實體bean本質上的複雜和重量級的開發J2EE持久化架構應用的被大家喜愛的方式。
EJB3.0採納了如TopLink和Hibernate輕量級的持久化模式來簡化容器持久化管理,這些聽起來更讓開發人員們欣喜。讓我們簡單的瀏覽一下實體bean的計劃,我們將在另外的文章中討論持久化改進的細節。
實體bean作為POJOs已經改頭換面,實體bean將不在需要組件介面。實體bean現在看起來是支援繼承和多態的純粹的對象。
下面的是關於實體bean原始碼
@Entity public class Employee{
private Long empNo;
private String empName;
private Address address;
private Hashmap projects = new Hashmap();
private Double salary;
@Id(generate=SEQUENCE) public Long getEmpNo() {
return empNo;
}
protected void setEmpNo(Long empNo) {
this.empNo = empNo;
}
public String getEmpName() {
return EmpName;
}
public void setEmpName(String EmpName){
this.EmpName = EmpName;
}
@Dependent public Address getAddress() {
return address;
}
public void setAddress(Address address) {
this.address = address;
}
public Set getProjects() {
return projects;
}
public void setProjects(Set projects) {
this.projects = projects;
}
public Double getSalary() {
return salary;
}
public void setSalary(Double salary) {
this.salary = salary;
}
....
}
如果你仔細看這些代碼,你可以發現在現在的實體bean中bean類是一個具體的類而不再是一個抽象類別。
EJB QL和實體bean的SQL查詢做了多項改進。類似於Hibernate的新的實體管理API和簡化版的TopLink的會話API被建議用來處理實體bean的操作,也就是實體bean的建立,釋放,尋找。