发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA

JdonFrameworktest里的CMP问题请教?

2005-09-16 11:18
赞助商链接

请教 我发觉教程JdonFrameworktest里面,database的PK都是为 char
可是一般我自己在使用database时,
PK都是int 为主 让他自动递增(MSSQL),
依据JdonFrameworktest 里的程序,我把databse的id表格由char改为 int
可是发生了一些我不了解的问题.
在使用CMP,在EJBBean下面程序变成
public Integer ejbCreate(Integer id) throws CreateException {
setSeq(seq);
return null;
}
也就是宣告都变成 Integer,
可是一般不是都是宣告public int ejbCreate(int id ) CreateException吗?
宣告成Integer后,在JdbcDAO, public Usertest getField(Ingeter Id) throws Exception 和里面的
ps.setString(1,Id),ret.setUserId(rs.getString("userId"))
ps,rs 到底要宣告成什么型态?
我宣告成 Integer后 ps,ret,没有ps.setInteger(1,Id)这各型态和 rs.getInteger()这各型态…
假如宣告成int,那EJBBean 下面自动出来的程序 却都是宣告成Integer..
而且EJBBean 的程序,手动改成宣告int后.会变成找不到 PK…因为他要去找Integer型态的PK而不是int型态的PK

还有为什么版上所有的范例PK都是 char 而不使用int
有特别的原因吗?

2005-09-16 11:32

也就是说当我PK改为int时
在CMP 自动生成的程序代码 都是为Integer,所以导致 TestEJBBean里有关PK的宣告跟JdbcDao里的ps,取回值ret都会有问题,
能否跟我讲假如PK 为 int时,TestEJBBean 的id要如何宣告, JdbcDao的getField(xxx Id???) 和里面的ps(ps.setxxx???) 跟取回值ret(rs.setxxx??)要如何得到database里的值呢?

2005-09-16 14:26

EJB中必须是对象,特别是实体Bean,一般是int的对象Integer

至于主键使用什么类型不重要,ID都是由一个叫Sequence.jar的序列号产生器产生的,我喜欢全部用字符串的,方便,因为Web网页缺省传过来的都是字符串,到后全部是,省心。

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com