Skip to Main Content

Java Development Tools

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

JBO-25013: Too many objects match the primary key oracle.jbo.Key

Tony007Feb 14 2013 — edited Feb 19 2013
hi am adding values from one viewObject to another viewObject am geting this error JBO-25013: Too many objects match the primary key oracle.jbo.Key
i used this code
<af:commandButton text="Add New" id="cb5"
                                        actionListener="#{pageFlowScope.addMember.addMember}"/>

    RichTable empTable;
     public void setEmpTable(RichTable empTable) {
         this.empTable = empTable;
     }


     public RichTable getEmpTable() {
         return empTable;
     }

 binding="#{pageFlowScope.addMember.empTable}">

the error is pointing in this line

    public void addMember(javax.faces.event.ActionEvent actionEvent) {
        List<String> tempTable = new ArrayList<String>();
        //Code to get the bindings for TargetVO :
             RowKeySet selectedEmps = getEmpTable().getSelectedRowKeys();    
               Iterator selectedEmpIter = selectedEmps.iterator();
               DCBindingContainer bindings =
                                 (DCBindingContainer)BindingContext.getCurrent().getCurrentBindingsEntry();
               DCIteratorBinding empIter = bindings.findIteratorBinding("UserDetailsViewVO1Iterator");
               RowSetIterator empRSIter = empIter.getRowSetIterator();
                while(selectedEmpIter.hasNext()){
                  Key key = (Key)((List)selectedEmpIter.next()).get(0);
                  Row currentRow = empRSIter.getRow(key);
                     onRowCreate(currentRow);
                }
             

    }
    public void onRowCreate( Row currentRow ) {
        OIDOperations   oIDOperations= new  OIDOperations();
        Map<Object,String> mp=new HashMap<Object, String>();          
     BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
     //access the name of the iterator the table is bound to. 
     DCIteratorBinding dciter = (DCIteratorBinding) bindings.get("DeltMember1Iterator");
     //access the underlying RowSetIterator
     RowSetIterator rsi = dciter.getRowSetIterator();
     //get handle to the last row
     Row lastRow = rsi.last();
     //obtain the index of the last row
     int lastRowIndex = rsi.getRangeIndexOf(lastRow);
       
   
     //create a new row
   
  
     
     Row newRow = rsi.createRow();
     String f = (String)currentRow.getAttribute("Firstname");
     String s = (String)currentRow.getAttribute("Surname");
     String u = (String)currentRow.getAttribute("Username");  
     String n = (String)currentRow.getAttribute("Emailaddress");
     
        newRow.setAttribute("Firstname", f);
        newRow.setAttribute("Surname", s);
        newRow.setAttribute("Username1", u);
        newRow.setAttribute("Username", u);
        newRow.setAttribute("Emailaddress", n);
        newRow.setAttribute("Organisationid1",getorgid());
     
     //initialize the row
     newRow.setNewRowState(Row.STATUS_INITIALIZED);
     //add row to last index + 1 so it becomes last in the range set
     rsi.insertRowAtRangeIndex(lastRowIndex +1,  newRow); 
     //make row the current row so it is displayed correctly
     rsi.setCurrentRow(newRow);    
        System.out.println("Username " + u);
        System.out.println("firstname " + f);
        System.out.println("surname " + s);
        System.out.println("email " + n);
       


    }
Edited by: adf009 on 2013/02/14 2:44 PM

Edited by: adf009 on 2013/02/14 2:44 PM

Edited by: adf009 on 2013/02/14 2:46 PM

Edited by: adf009 on 2013/02/14 2:47 PM
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Mar 19 2013
Added on Feb 14 2013
9 comments
3,737 views