怎么引用Cmp中的finder方法啊?

panda00 2004-05-04 05:48:53
每个实体bean本身有一个findbyprimarykey的finder方法,现在我要做web登录程序,所以就得有查询了,基本架构是jsp调用有状态sessionbean,有状态sessionbean调用实体bean,这里只是要进行用户名和密码的验证,所以我在实体bean上添加了一个finder方法,其ejb-ql如下:SELECT OBJECT(one) AS one FROM User WHERE one.id=?1 AND one.password=?2,(这里的id和password是数据库中的用户名和密码字段,均为字符串型)?1和?2当然对应着本方法传过来的两个相应的参数了,另外我设置的返回类型是Collection的就编译不了,(不是实体bean编译不了,是sessionbean调用那个方法时的错误),于是我就设置成返回bean类型的了,这里因为实体bean名为User,所以就返回User类型了。可是我调用时明明数据库有完全一样的值的时候却没有返回相应的值,我想应该是返回类型或者ejb-ql语句本身的问题了,但我又不知道怎么找出毛病,编译通过,就是没有返回结果,总是返回null,请教高手帮忙啊,谢了!
...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
panda00 2004-05-07
  • 打赏
  • 举报
回复
我试过了,我本来就引入了java.util.*这个包,请问返回远程接口集后该作什么动作啊?比如说返回的结果这样写可不可以:?
Collection result=User.find_login_check(id,password);其中User是实体bean,find_login_check就是我定义的find方法,可是查询总是结果为空,但数据库中是确实有对应的值的,这是怎么回事啊?
panda00 2004-05-05
  • 打赏
  • 举报
回复
好啊,我会按照你们说的尝试一下了啦,谢谢各位的帮助,有问题我会再麻烦你们的了,大家共同学习嘛。
to redex(cc):我说的不是findbyprimarykey的编译不了,是后者,不过谢谢你。
FlyPig1983 2004-05-05
  • 打赏
  • 举报
回复
可以设置成Collection 出现错误的情况可能是你没有引入java.util.*这个包
返回的是一个远程接口的集,所以在调用的时候就要按照远程接口的方法和属性来调用。
还有finder方法只需在本地接口中写就够了 (我知道的就这么多 :))
redex 2004-05-05
  • 打赏
  • 举报
回复
实体Bean的findbyprimarykey方法只能返回一个实体Bean的接口对象,
不能返回Collection,因为此方法是按照对象的唯一id来查找对象的,
不会返回一个集合,只能返回一个对象。
graygu 2004-05-04
  • 打赏
  • 举报
回复
为什么返回Collection就编译不了呢?把错误信息贴出来吧。
dragonlw 2004-05-04
  • 打赏
  • 举报
回复
正在学习,帮你UP

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧