“所有primary key都用int”的意思是不是说和我一样,每个表都做一个id字段,只不过不用sequence控制。
比如:
Table A: id , fld1,fld2
Table B: id , fld1,fld2
Table id_tbl: current_id, tbl_name
每次对A,B进行insert 操作的时候,都先去id_tbl里面查一下该表当前的id号,然后取出+1,insert 进A,B。
如果这样做的话,为什么不直接从A,B中取出当前最大的id ,然后在程序中+1.我觉得后者唯一的坏处就是每次必须查出所有排序记录,然后取最大值,数据量大的话影响速度,而前者只需查一个记录就行。
有没有更简便的方法?
另外一个问题是:
在CMP中,如何做这些SQL处理(从id_tbl查出Table A的当前最大id,在程序中转换,得到在Table A中插入新记录需要的id)?EJBQL?相关程序代码是放在一个business method里面吗?
谢谢!
比如:
Table A: id , fld1,fld2
Table B: id , fld1,fld2
Table id_tbl: current_id, tbl_name
每次对A,B进行insert 操作的时候,都先去id_tbl里面查一下该表当前的id号,然后取出+1,insert 进A,B。
如果这样做的话,为什么不直接从A,B中取出当前最大的id ,然后在程序中+1.我觉得后者唯一的坏处就是每次必须查出所有排序记录,然后取最大值,数据量大的话影响速度,而前者只需查一个记录就行。
有没有更简便的方法?
另外一个问题是:
在CMP中,如何做这些SQL处理(从id_tbl查出Table A的当前最大id,在程序中转换,得到在Table A中插入新记录需要的id)?EJBQL?相关程序代码是放在一个business method里面吗?
谢谢!