1

spring jdbcを使用して、別の行への一意のキーである1つの列を除く行をコピーする必要があります。null値をチェックしても、nullpointer例外が発生します。これを達成するための他の良い方法はありますか?助けて。ありがとう。以下の私のコードを見つけてください:

insert.update(new Object[] { 
                    argModel.getKey(),
                    CommonUtils.isNotNull(argModel.getPage_Key())?argModel.getPage_Key():"",
                    CommonUtils.isNotNull(argModel.getNoteBookRef())?argModel.getNoteBookRef():"", 
                    argModel.getBatchNum(),
                    alStructKey,
                    identifiedStructKey,
                    reactionKey,
                    argModel.getAnalysisType(),
                    CommonUtils.isNotNull(argModel.getSubmitted_Amt())?argModel.getSubmitted_Amt():"0",
                    CommonUtils.isNotNull(argModel.getEstimated_Purity())?argModel.getEstimated_Purity():"0",
                    CommonUtils.isNotNull(argModel.getKey_Nmr_Exp())?argModel.getKey_Nmr_Exp():"",
                    CommonUtils.isNotNull(argModel.getSolvent_Used())?argModel.getSolvent_Used():"",
                    CommonUtils.isNotNull(argModel.getProbe_Used())?argModel.getProbe_Used():"",
                    CommonUtils.isNotNull(argModel.getSamp_Temp())?argModel.getSamp_Temp():"0",
                    CommonUtils.isNotNull(argModel.getAchiral_Purity())?new Float(argModel.getAchiral_Purity()):0.0,
                    CommonUtils.isNotNull(argModel.getChiral_Purity())?new Float(argModel.getChiral_Purity()):0.0,
                    CommonUtils.isNotNull(argModel.getPeak1_Amt())?argModel.getPeak1_Amt():"0",
                    CommonUtils.isNotNull(argModel.getPeak2_Amt())?argModel.getPeak2_Amt():"0",
                    CommonUtils.isNotNull(argModel.getRequestId())?argModel.getRequestId():"0",
                    CommonUtils.isNotNull(argModel.getSubmissionComments())?argModel.getSubmissionComments():"",
                    CommonUtils.isNotNull(argModel.getStatusComments())?argModel.getStatusComments():"",
                    CommonUtils.isNotNull(argModel.getCcList())?argModel.getCcList():"",
                    argModel.isSaveSampleForPickUp()?"YES":"NO",
                    CommonUtils.isNotNull(argModel.getAnalyticalContact())?argModel.getAnalyticalContact():"",
                    argModel.getSubmittedOn(),
                    argModel.getAcceptedOn(),
                    CommonUtils.isNotNull(argModel.getSubmissionStatus())?argModel.getSubmissionStatus():"",
                    CommonUtils.isNotNull(argModel.getSubmitter())?argModel.getSubmitter():"",
                    CommonUtils.isNotNull(argModel.getTherapetuicArea())?argModel.getTherapetuicArea():"",
                    CommonUtils.isNotNull(argModel.getProjectCode())?argModel.getProjectCode():"",
                    CommonUtils.isNotNull(argModel.getCro())?argModel.getCro():"",
                    CommonUtils.isNotNull(argModel.getSiteCode())?argModel.getSiteCode():"",
                    CommonUtils.isNotNull(argModel.getAnalysisXml())?StorageUtils.toClobObject(CommonUtils.replaceSpecialCharsinXML(argModel.getAnalysisXml())):""
                    });
4

1 に答える 1

1
insert into submitted_batch select (your_new_page_key, n1, n2, n3, ...) from submitted_batch where analytical_page_key='24695d63ac1e31a8730de255639e5b2c8f7972d8';

ここで、your_new_page_keyは新しいキーであり、n1、n2、n3、...はすべて非主キー列です。

于 2012-10-22T13:57:28.417 に答える