当前位置: 技术问答>java相关
在CMP的实体BEAN中怎么添加用户自定义的查找方法
来源: 互联网 发布时间:2015-06-27
本文导语: 我在JBUILDER6+BAS4.5环境下开发EJB。想在CMP的实体BEAN中自定义查找方法,用什么方法呀!在JB中EJB的下面有CMP1.1属性,这个属性中有FINDERS页,我在本地接口文件中定义了查找方法,在FINDERS中却不知怎么写WHERE CLAUSE才能...
我在JBUILDER6+BAS4.5环境下开发EJB。想在CMP的实体BEAN中自定义查找方法,用什么方法呀!在JB中EJB的下面有CMP1.1属性,这个属性中有FINDERS页,我在本地接口文件中定义了查找方法,在FINDERS中却不知怎么写WHERE CLAUSE才能把参数传递给WHERE语句?
|
例如你的本地接口中定义的是
public Collection findByNameSex(String name, short sex) ......
的话,可以在where clause中写
WHERE NAME(字段名)=:name AND SEX(字段名)= :sex
public Collection findByNameSex(String name, short sex) ......
的话,可以在where clause中写
WHERE NAME(字段名)=:name AND SEX(字段名)= :sex
|
容器管理持久性的Entity bean的finder方法在Home接口或LocalHome接口中定义。如:
public Collection findByNameSex(String name, short sex)throws FinderException,RemoteException;
Finder方法无需在bean实现类中实现,只要在Descriptor中用EJB-QL定义即可。例如,bean的Abstract Schema Name为Person,则上述方法的EJB-QL为:
Select DISTINCT OBJECT(p) from Person as p
where p.name=?1 AND p.sex=?2
public Collection findByNameSex(String name, short sex)throws FinderException,RemoteException;
Finder方法无需在bean实现类中实现,只要在Descriptor中用EJB-QL定义即可。例如,bean的Abstract Schema Name为Person,则上述方法的EJB-QL为:
Select DISTINCT OBJECT(p) from Person as p
where p.name=?1 AND p.sex=?2