当前位置: 技术问答>java相关
有关在entity中处理oracel中的自动递增字段的处理,常用的做法是怎样的?
来源: 互联网 发布时间:2015-08-11
本文导语: 我的问题: 我有个表格tab_stuff,有个字段是stuffid。它的值是自动递增的,从sequence表seq_stuff中读取。 现在我建了个entity bean(CMP)对应tab_stuff表。 我想在测试程序中调用: public StuffPK ejbCreate(java.lang.Integer stuffid, jav...
我的问题:
我有个表格tab_stuff,有个字段是stuffid。它的值是自动递增的,从sequence表seq_stuff中读取。
现在我建了个entity bean(CMP)对应tab_stuff表。
我想在测试程序中调用:
public StuffPK ejbCreate(java.lang.Integer stuffid, java.lang.String age, java.lang.String stuffName, java.lang.String sex)
方法插入一条记录,但是java.lang.Integer stuffid这个值我怎么到sequence中去读取呢?
我现在得到的回答:
如果用cmp,另外建立一个session bean,用来专门生成stuffid ,使用的时候先访问session bean,得到stuffid,然后在调用entity bean 的create方法插入新的纪录
如果用bmp,可以在create时不传递stuffid,只传递别的参数,然后从sequence中得到stuffid,插入后,将stuffid 赋给bean的stuffid
我的想法:
因为按照第一种方法的话首先session bean先要和数据库进行一次交互,然后交由entity bean处理,那就多了一个通讯的过程,比后面的那种方法明显效率要低。
我现在的应用程序用的entity bean。现在一般的开发中是这么处理的吗?有什么其他的方法吗?
我有个表格tab_stuff,有个字段是stuffid。它的值是自动递增的,从sequence表seq_stuff中读取。
现在我建了个entity bean(CMP)对应tab_stuff表。
我想在测试程序中调用:
public StuffPK ejbCreate(java.lang.Integer stuffid, java.lang.String age, java.lang.String stuffName, java.lang.String sex)
方法插入一条记录,但是java.lang.Integer stuffid这个值我怎么到sequence中去读取呢?
我现在得到的回答:
如果用cmp,另外建立一个session bean,用来专门生成stuffid ,使用的时候先访问session bean,得到stuffid,然后在调用entity bean 的create方法插入新的纪录
如果用bmp,可以在create时不传递stuffid,只传递别的参数,然后从sequence中得到stuffid,插入后,将stuffid 赋给bean的stuffid
我的想法:
因为按照第一种方法的话首先session bean先要和数据库进行一次交互,然后交由entity bean处理,那就多了一个通讯的过程,比后面的那种方法明显效率要低。
我现在的应用程序用的entity bean。现在一般的开发中是这么处理的吗?有什么其他的方法吗?
|
cmp这好像很难,也许只有bmp了