Java论坛网»Java技术»sql语句更新实体bean的数据失败,高分求救!!!
sql语句更新实体bean的数据失败,高分求救!!!
问?:
求救于各位高手:
在sessionEJB中有如下操作:
TableRemote = TableRemoteHome.create(strKey0);//实体Bean创建一条纪录
Table1Remote .setField1(strField1);//通过实体Bean更新字段Field1
Table1Remote .setField2(strField2);//通过实体Bean更新字段Field2
//SQL语句更新刚才通过实体Bean创建的纪录
String strSql = "Update Table set Field3='aaaaa' where Key0=strKey0";
if (pstmt.executeUpdate(strSql ) != 1) {////更新失败
System.out.println("更新失败:update error!");//更新失败
}
执行结果:
更新失败:update error!
注释:
这个SessionEJB的方法和实体BEAN方法事务属性都是容器管理的REQUIRED类型
为何会失败?我在实体bean后边加了个SELECT语句,也选择不出实体BEAN创建的纪录,为什么?
他们都是在一个事务当中,应该可以选择出来这条纪录的!!!实体bean和数据库的纪录不一致?
为什么不一致?怎么样处理就能够选择到这条数据,并且也在同一个事务中?
在sessionEJB中有如下操作:
TableRemote = TableRemoteHome.create(strKey0);//实体Bean创建一条纪录
Table1Remote .setField1(strField1);//通过实体Bean更新字段Field1
Table1Remote .setField2(strField2);//通过实体Bean更新字段Field2
//SQL语句更新刚才通过实体Bean创建的纪录
String strSql = "Update Table set Field3='aaaaa' where Key0=strKey0";
if (pstmt.executeUpdate(strSql ) != 1) {////更新失败
System.out.println("更新失败:update error!");//更新失败
}
执行结果:
更新失败:update error!
注释:
这个SessionEJB的方法和实体BEAN方法事务属性都是容器管理的REQUIRED类型
为何会失败?我在实体bean后边加了个SELECT语句,也选择不出实体BEAN创建的纪录,为什么?
他们都是在一个事务当中,应该可以选择出来这条纪录的!!!实体bean和数据库的纪录不一致?
为什么不一致?怎么样处理就能够选择到这条数据,并且也在同一个事务中?
答!: 1:
首先,到底是BMP还是CMP?
答!: 2:
sessionEJB和实体EJB都是容器管理的,事务属性都是reqired!
答!: 3:
既然是CMP,为什么还在EntityBean里面执行SQL?
用CMP固然很好,但是先检查一下你用对了吗?
如果一个技术本身用错了,而且还没有详细的错误消息,
那么谁都帮不了你。
用CMP固然很好,但是先检查一下你用对了吗?
如果一个技术本身用错了,而且还没有详细的错误消息,
那么谁都帮不了你。
答!: 4:
是这样子,数据库里边有一个字段类型属于LONG,直接用EntityBean 设置有问题,所以想通过sql语句再处理一下:
用实体bean取LONG类型,取出来的值,不可预测
用实体bean取LONG类型,取出来的值,不可预测
答!: 5:
学习中,首先数据可能没写回库中,查一下库中有没有?
答!: 6:
数据库没有
答!: 7:
LONG型数据(Oracle的话)取回来之后要做解码处理,
你写进去的是什么东西,读出来的时候就反向解码。
你写进去的是什么东西,读出来的时候就反向解码。
相关JAVA教程:
请问 OpenCMS 的 JSP template 怎么创建?
请教高手:在WebService里,业务逻辑Bean从数据库中获取的多条记录怎么传到客户端接收
急!!!servlet如何实现读取一个绝对路径文件展现到页面
如何填充自己绘制的图形?
求助::hibernate tool 在eclipse3.2下的使用(代码生成??)
jsp 文本显示位置错乱
怎样做一个下拉框
为什么要使用:Proxy.newProxyInstance()
精通JTable的高手请进
学习Swing最好的书的序言
Javabean和Jsp传值问题
请问hibernate能否动态映射数据库表