首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
Java
框架、开源
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
Hibernate save()问题!超急!一般人估计解决不了!
[已结贴,结贴人:java2000_net]
加为好友
发送私信
在线聊天
zygege
等级:
发表于:
2007-12-19 18:36:10
楼主
下面是父类(含Projecter Agencies Tender三个子类,这三个子类我映射到数据库了.)
public class SuperBean {
public void setBusiness_type(String business_type) {
}
public void setCity(String city) {
}
public void setClose(int close) {
}
public void setCompany_name(String company_name) {
}
public void setCompany_type(String company_type) {
}
public void setContact(String contact) {
}
public void setContact_duty(String contact_duty) {
}
public void setContact_email(String contact_email) {
}
public void setContact_r_tel(String contact_r_tel) {
}
public void setContact_sex(String contact_sex) {
}
public void setCountry(String country) {
}
public void setFax(String fax) {
}
public void setIndustry_type(String industry_type) {
}
public void setOther(String other) {
}
public void setPassword(String password) {
}
public void setPost(String post) {
}
public void setPost_address(String post_address) {
}
public void setProvince(String province) {
}
public void setRegister_money(int register_money) {
}
public void setTel(String tel) {
}
public void setUsername(String username) {
}
}
子类含有GET和SET方法,三个子类就是三个javaBEAN
在注册处理页面:
SuperBean obj=null;
switch(type){
case 0: break;
case 1: obj = new Projecter(); break;
case 2: obj = new Agencies();break;
case 3: obj = new Tender();break;
}
//入BEAN
obj.setUsername(username);
...
obj.setFax(fax);
HibernateDBConn.insertUser(obj);
存数据库如下:
(这个er 传过来是SuperBean型的,但是实现上)
//某类型单位(如:Projecter Agencies Tender)增加新单位 insertUser(单位类型)
public void insertUser(Object er) throws HibernateException{
Session session=HibernateUtil.currentSession();
Transaction tx=session.beginTransaction();
session.save(er);
tx.commit();
HibernateUtil.closeSession();
}
现在这个方法存不了,我写成这样也不行session.save(Class.forName(er.getClass().getName()));
session.save(Class.forName(er.getClass().getName()).newInstance());都不行,都报NullPointException错误.请问我不想写三个insert方法,怎么样做到通用,因为我们的系统以后还要升级,肯定不止三个类.
问题点数:
20
回复次数:
8
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
ProvidenceZY
erikchang
等级:
发表于:
2007-12-19 19:07:12
1
楼 得分:
4
用hibernatetemplate
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zygege
等级:
发表于:
2007-12-20 10:56:15
2
楼 得分:
0
具体说一下
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zygege
等级:
发表于:
2007-12-20 11:01:25
3
楼 得分:
0
我们没架Spring框架,怎么办?难不成现在把Spring框架架上来???
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
aChinese
一个中国人
等级:
发表于:
2007-12-20 16:20:50
4
楼 得分:
4
这样写没问题, 抛空指针, 应该是你的er=null了吧。
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
zygege
等级:
发表于:
2007-12-21 18:40:19
5
楼 得分:
0
我在注册时选择Projecter.我的ER怎么可能等于NULL呢,我在获得ER后还打印了一下,发现是Porjecter.但是一传到HibernateDBConn里就不行了!
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
peacockbird
等级:
发表于:
2007-12-25 15:44:02
6
楼 得分:
4
打印下session 呢
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
henry1451
小飞侠
等级:
发表于:
2007-12-28 09:46:38
7
楼 得分:
4
你重新开启个SESSION,用openSession()这个方法去获取一个新的SESSION,而不要用currentSession();
这个方法去获取当前的SESSION来保存对象,同时在SAVE()之前,打印出er这个对象,看是否为NULL.
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
shagan
上海外地人
等级:
发表于:
2008-01-04 16:33:05
8
楼 得分:
4
save(Ojbect)啊,自己会区分的啊?
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
abc推荐给好友