EJB设计模式2
为了避免设计模式1的缺点,我们介绍一下封装entity bean值域的value objec的概念。value object,用某些语言的术语来说,就是一个结构类型,因为他们和corba的结构类型非常类似。
value Object code snippet for Company
public class CompanyStruct implements
rializable {
public Integer comId; //Primary Key
public String comName;
public String comDescription;
public mestamp mutationDate;
}
value Object code snippet for Employee
public class EmployeeStruct implements
rializable {
public Integer empId; //Primary Key
public Integer comId; //Foreign Key
public String empFirstName;
public String empLastName;
public mestamp mutationDate;
}
现在,公司和雇员的entity bean可以把上面的一个结构类型作为ejbCreate()的一个参数。由于这个结构封装了entity的所有字段的值,entity bean只需要一个getdata()和setdata()方法就可以对所有的字段进行操作。
Code snippet for an Entity Bean’s create()
public Integer ejbCreate(CompanyStruct struct) throws
CreateException {
Id = Id;
Name = Name;
Description = Description;
tationDate = tationDate;
return null;
}
Code snippet for an Entity Bean’s getData()
public CompanyStruct getData() {
CompanyStruct result = new CompanyStruct();
Id = Id;
Name = Name;
Description = Description;
tationDate = tationDate;
return result;
}
Code snippet for an Entity Bean’s setData()
public void setData(CompanyStruct struct) {
Name = Name;
Description = Description;
tationDate = tationDate;;
}
跟设计模式1中使用单独的get()和set()方法去操作特定字段不同,在设计模式2中,我们避免这种情况而只需要进行一次远程调用就可以了坚决纠正和防止拼政策、拼资源、拼环境、拼地价、拼人力等行为。现在,只有一个事务通过一次远程调用就操作了所有的数据。这样,我们就避免了设计模式1的大部分缺点,除了建立bean之间的关系外。
虽然setdata()方法可以对所有字段赋值,但是,borland appserver提供了一种智能更新的特性,只有被修改过的字段才会被重新写入数据库,如果没有字段被修改,那么ejbStore()方法将会被跳过。borland程序员开发指南(EJB)有更详细的描述。
同样,在entity bean和struct之间存在这重复的代码,比如同样的字段声明。这意味着任何数据库表结构的修改都会导致entity beabn和struct的改变(3) 零售价管理,这使得同步entity和struct变得困难起来。
就是在ebCreate()方法中调用setddata()方法,这可以消除一些冗余的代码。
Code snippet for an Entity Bean’s create()
public Integer ejbCreate(CompanyStruct struct) throws
CreateException {
Id = Id; //set the primary key
setData(struct);//this removes some redundant code
return null;
} 查看本文来源
丽水白癜风治疗费用昆明白癜风好的医院前列腺增生怎么调理好- 上一篇:通天仙路第1025章负匣而离离开
- 下一篇:神级仙界系统第二百九十五章火云兽现离开
-
杜高犬拉肚子怎么办是什么原因位置
杜高犬拉肚子怎么办?是什么原因?杜高犬拉肚子怎么办?是什么原因? 12:20:22出处:络点击:414 ...[详细]
设计观点2022.06.12
-
杜高犬怎么养杜高犬饲养位置
杜高犬怎么养?杜高犬饲养杜高犬怎么养?杜高犬饲养 18:44:14by 呦呦杜高犬怎么养? 狗最好从小就养,才能更好的培养感情,但如果养的...[详细]
设计观点2022.06.12
-
松狮咬骨头的好处位置
松狮咬骨头的好处松狮咬骨头的好处 17:19:33出处:络点击:1875 导读: 经常可以看到松狮狗狗抱...[详细]
设计观点2022.06.12
-
松狮吃什么狗粮好教大家如何饲养松狮位置
松狮吃什么狗粮好 教大家如何饲养松狮松狮吃什么 好 教大家如何饲养松狮松狮吃什么 好,养宠物的人肯定最在意的就是宠物的饮食健...[详细]
设计观点2022.06.12
-
杜高犬多少钱一只杜高犬幼犬价格在位置
杜高犬多少钱一只 杜高犬幼犬价格在8000元左右杜高犬多少钱一只 杜高犬幼犬价格在8000元左右杜高犬多少钱一只,现在越来越多的人喜欢...[详细]
设计观点2022.06.12
-
杜高犬会咬人吗事出必有因位置
杜高犬会咬人吗?事出必有因杜高犬会咬人吗?事出必有因其实,有少部分的杜高犬是会主动去攻击人类的,但是大多数这些杜高犬会去...[详细]
设计观点2022.06.12