session bean调用entity bean的一个奇怪的问题!
我用一个session bean调用entity bean.数据库是mysql建立的,只有两个字段userid,name.
session bean要调用的方法是下面:
public String[] listnames(String name) {
try {
Context jndiContext =new InitialContext();
Object ref = jndiContext.lookup( "Acount1" ) ;
Acount1Home acount1Home = (Acount1Home) PortableRemoteObject.narrow(ref, Acount1Home.class);
Vector vect = new Vector();
vect.addElement("access ejb");
Acount1 acount1 = null;
Acount1PK pk = null;
for (int i=1;i<5;i++) {
pk = new Acount1PK();
pk.userid = i ;
try {
acount1 = acount1Home.findByPrimaryKey(pk) ;
}
catch( javax.ejb.FinderException fe) {
break;
}
//Check to see if name is right
if (acount1.getName() == name) {
String details= i+ ","+acount1.getName() + ":";
vect.addElement(details) ;
}
}
String[] list= new String[ vect.size() ];
vect.copyInto(list);
return list;
}
catch (Exception e) {throw new EJBException(e);}
}
我的客户端调用如下:
String list[] = ejbcmptest.listnames("ss");
System.out.println(list.length );
for(int i=0;i<list.length ;i++) {
System.out.println(list[i]);
}
我的数据库中有ss这个字段,怎么就是显示不出来呢,并且把所有的name的字段就用来调用listnames方法,但这一句:if (acount1.getName() == name)
就是不起作用,就是认来是false,当我用!=代替==,则可以显示出来。
为什么?????、、我觉得我的代码没错!
问题点数:44、回复次数:3Top
1 楼lovesnoopy(洋葱头)回复于 2001-11-17 16:16:34 得分 44
字符串是用==比较的吗?
==用来比较字符串的绝少情况是:比较一个字符串是否和一个常量池中的一个字符串相等(intern()以后).这是地址比较,同志!Top
2 楼lovesnoopy(洋葱头)回复于 2001-11-17 16:38:47 得分 0
能写ejb的同志居然不知道String使用equals()比较?Top
3 楼lhykillers(系统开发更年期阶段)回复于 2001-11-19 11:50:38 得分 0
非常感谢你,洋葱头先生!
这段程序我是跟《Enterprise Java Beans》这本书上的P127,用jb与wl调试的,
书上的都是int字段,我太粗心了:)
给你加分!!!!!!!!!!!Top
相关问题
- ejb中session bean 如何本地调用entity bean(一定给分)
- ejb中session bean 如何本地调用entity bean
- 再问session bean 调用entity Bean的问题
- 在session bean 中,怎么调用 cmb ?
- stateless session bean(无状会话bean)怎样调用实体bean(bmp)!
- 在Seesion bean中的一个方法调用Entity Bean调用错误,在线等待!!!!!!!
- 调用Bean问题
- 寻求方案:sessionless bean怎样包装、调用entity bean操作数据库?
- 问一个很简单的问题:在JavaBean中怎样调用Session Bean?
- jsp调用bean问题?




