Entity Object with Nullabl Primary Key Parts

I posted an article on how to handle nullable PKs.
Here is the link:
http://radio.weblogs.com/0123729/stories/2003/05/15/entityObjectOverTableWhosePrimaryKeyMayBeNull.html
Please take a look if you're interested in the topic.

Most likely the record in the database has an extra white space attached to it.
For ex:- 'Harry ' instead of 'Harry';
If you have an extra space there then findByPrimaryKey("Harry") will not be find that record.
You can test it launching a SQL*PLUS
and
select col from table
where col='Harry'
this would return "no rows found" if it has an extra white space.
raghu

Similar Messages

  • How do I create an Entity Bean with unknown primary keys

    Hi,
    Can a good folk help me.
    I am mapping an entity bean to an oracle table for the purpose of logging . I do not need a primary key contraint on this table. How do I specify in my entity bean file descriptor not to use any field for primary key ...
    I have done this so far...
    in my ejb.xml file - I set....
    <prim-key-class>java.lang.Object</prim-key-class>
    and deleted ....
    <primkey-field>...</primkey-field>
    My table structure is .....
    CREATE TABLE FAMS_REQUEST_LOG (
    EDITEDBY VARCHAR2(20),
    OLDTRANSDATE DATE,
    REQUESTID VARCHAR2(30) NOT NULL,
    OLDQTY NUMBER(20),
    NEWQTY NUMBER(20),
    NEWTRANSDATE DATE)
    but I still get this error message on deploying...
    [#|2006-03-01T14:30:29.250+0100|INFO|sun-appserver-pe8.1_02|javax.enterprise.system.tools.deployment|_ThreadID=19;|Total Deployment Time: 11000 msec, Total EJB Compiler Module Time: 0 msec, Portion spent EJB Compiling: 0%|#]
    [#|2006-03-01T14:30:29.265+0100|SEVERE|sun-appserver-pe8.1_02|javax.enterprise.system.tools.deployment|_ThreadID=19;|Exception occured in J2EEC Phase
    com.sun.enterprise.deployment.backend.IASDeploymentException: Fatal Error from EJB Compiler -- JDO74046: JDOCodeGenerator: Caught a MappingConversionException loading or creating mapping model for application 'fixassetenterpriseapp' module 'FixAssetEnterpriseApp-EJBModule': JDO71030: There is no column in table FAMS_REQUEST_LOG which can be used to support the servers implementation of unknown key classes.
    at com.sun.ejb.codegen.CmpCompiler.compile(CmpCompiler.java:274)
    at com.sun.ejb.codegen.IASEJBC.doCompile(IASEJBC.java:615)
    at com.sun.ejb.codegen.IASEJBC.ejbc(IASEJBC.java:563)
    at com.sun.enterprise.deployment.backend.EJBCompiler.preDeployApp(EJBCompiler.java:340)
    at com.sun.enterprise.deployment.backend.EJBCompiler.compile(EJBCompiler.java:209)
    at com.sun.enterprise.deployment.backend.AppDeployer.runEJBC(AppDeployer.java:284)
    at com.sun.enterprise.deployment.backend.AppDeployer.deploy(AppDeployer.java:176)
    at com.sun.enterprise.deployment.backend.AppDeployer.doRequestFinish(AppDeployer.java:107)
    at com.sun.enterprise.deployment.phasing.J2EECPhase.runPhase(J2EECPhase.java:146)
    at com.sun.enterprise.deployment.phasing.DeploymentPhase.executePhase(DeploymentPhase.java:71)
    at com.sun.enterprise.deployment.phasing.PEDeploymentService.executePhases(PEDeploymentService.java:633)
    at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:188)
    at com.sun.enterprise.deployment.phasing.PEDeploymentService.deploy(PEDeploymentService.java:520)
    at com.sun.enterprise.management.deploy.DeployThread.deploy(DeployThread.java:143)
    at com.sun.enterprise.management.deploy.DeployThread.run(DeployThread.java:172)
    |#]
    Dotun

    you will have to create a sequence and a trigger
    CREATE SEQUENCE <SEQUENCE NAME>
    INCREMENT BY  1
    START WITH  1
    NOCACHE
    /this sequence will guarantee that each requested number is unique
    the trigger will select from this sequence and insert the obtained value in the new record
    CREATE OR REPLACE TRIGGER <TRIGGER NAME>
    BEFORE INSERT ON <TABLE NAME>
    REFERENCING NEW AS NEW OLD AS OLD
    FOR EACH ROW
        BEGIN
            select
                <SEQUENCE NAME>.nextval
            into
                :NEW.<COLUMN NAME>
            from
                dual;
        END;
    [/CODE]
    this will always take the value from the sequence, even if you already provided a value yourself
    (otherwise you will first have to test if :NEW.<column name> is null, but I wouldn't do this for a key column.
    if you need the generated key back for further processing (inserting it into a child table for example), you can use the returning clause on the insert statement
    see the oracle documentation for more information about sequences, triggers and the returning clause
    greetings
    Freek D
    I am new to Oracle and need to know how to create a table that uses an automatic incrementation on a primay key for it's default. I need the uniqueness automatically managed by the DBMS.. This activity is know as setting the Column (primary key with identity) in Ms-SQL..
    Your help would be appreciated greatly....
    Thanks....

  • How to copy an Object with sequencing primary key?

    Hi, I have a use case here to copy all the informations and create a new object? The draft process i am using is:
    obj original = session.readObject;
    obj target = uow.readObject;
    if(target is not there) {
    target = uow.registerObject(new target())
    target.attrA = original.attrA
    target.attrZ = original.attrZ}
    uow.commit;
    It works fine, but i don't like to repeat the boring attribute copying. So i change my code to:
    obj original = session.readObject;
    obj target = uow.readObject;
    if(target is not there) {
    original.pk = null;
    uow.registerNewObject(original);
    uow.commit;
    I try to set the pk of the original to null and let it to use the sequence one. However, It fails with an exception that the primary key cannot be null. Is there anybody can help me to simplify the process? Any concerns or comments are really appreciated.
    Message was edited by:
    juwen

    Hello Juwen,
    The problem is you are registering an object, assigning it a null pk, and then commiting the uow/transaction. TopLink uses registered objects to keep track of changes you make inorder to persist those changes on commit. So the simple fix is to not commit the UnitOfWork - call release() on it instead.
    Another solution is to use the session copyObject api. The simple form that only takes an object will work similar to registering the object as it will copy all persistent attributes but it will leave the primary key null. You can also use this method to specify a copyPolicy to customize the process. Using this method will be a bit more efficient, since a UOW makes both a working copy and a back up copy of objects registered, inorder to keep track of changes. Using the copyObject api will only make a single copy.
    Best Regards,
    Chris

  • CMP entity bean with compound primary key

    I'm trying to use a compound primary key in a CMP entity bean. I've created the custom primary key class okay, and I have the prim-key-class set in ejb-jar.xml. My client app gets the home reference okay, but when it tries to find an entity, I get the exception "SQLException: Incorrect syntax near '/'."
    I think I'm having trouble deploying this in OC4J. Is there a sample orion-ejb-jar.xml deployment for a custom, compound primary key somewhere?
    Many thanks for any help.
    Ernie

    Never mind. I solved my problem. Thanks.

  • Too many objects match the primary key oracle.jbo.Key

    Hi OAF Gurus,
    Currently we are implementing R12 Upgrade , for this we have deployed all the custom OAF Application related files on to the the respective JAVA_TOP folder.
    We have a custom municipal postal application which tracks the Postal Details.
    The page runs perfectly fine without any error in 11i instance, but the same is erroring out In R12.
    In R12 it shows an error as Too many objects match the primary key oracle.jbo.Key[112010 2014-10-01]
    here 112010 is nothing but the postal code id and 2014-10-01 is the Effective Start Date
    We have a custom table as xxad_postal_codes_f  (Date Track table)which contains the postal_code_id and effective_start_date (primary key is combination of postal_code_id and effective_start_date ).
    The Table already contains a row for postal_code_id = 112010  and Effective_Start_date = Sysdate.
    Now we want to update the entry for the same postal code with the Id being same as 112010  and  Effective_Start_date as 2014-10-01 through custom PostCodeChangePG
    at the time of save we are getting an error as Too many objects match the primary key oracle.jbo.Key[112010 2014-10-01]
    The table doesn't contain any of the data mentioned ([112010 2014-10-01]) at the time of insertion, hence there should not be any duplication of primary key but still we are getting the error.
    Please let us know how can we handle this..?
    Below is the code which is getting called on Click of Save button of PostCodeChangePG
    if (pageContext.getParameter("Apply") != null)
          PCodeCoWorkerBase coWorker = getCoWorker(pageContext, webBean);
              coWorker.processApply();
    Code in PCodeCoWorkerBase
        public void processApply()
          String postalCodeId = UIHelper.getRequiredParameter(pageContext, "postalCodeId");
          Date startDate = UIHelper.getRequiredDateParameter(pageContext , "EffectiveStartDate");
         Serializable[] postalCodeData = (Serializable[]) applicationModule.invokeMethod( "insertPostalCodeMajorChange", params, paramTypes );
          finalizeTransactionAndRedirect( postalCodeData );
    Code in Application Module
      public Serializable[] insertPostalCodeMajorChange ( String postalCodeId, Date date )
        PCodeAmWorker amWorker = new PCodeAmWorker(this);
        return amWorker.insertMajorChange( postalCodeId, DateHelper.convertClientToServerDate( getOADBTransaction(), date )
    Code in PCodeAmWorker
      public Serializable[] insertMajorChange ( String postalCodeId, Date date )
        // Get the view objects we need from the application module
        OAViewObject viewObject = (OAViewObject) applicationModule.getPCodesVO();
        PCodesVORowImpl currentRow = (PCodesVORowImpl) viewObject.getCurrentRow();
        currentRow.validate();
        currentRow.setEffectiveStartDate(date);
        currentRow.setComment1(currentRow.getNewComment());
    // Create a new row based on the current row
    PCodesVORowImpl newRow = (PCodesVORowImpl) viewObject.createAndInitRow(currentRow); //This is failing out and gives the error
    // Get the new effective start date as entered by the user
    Date effectiveStartDate = currentRow.getEffectiveStartDate();
        // Calculate the previous period's effective end date
        Date previousEffectiveEndDate = DateHelper.addDays(effectiveStartDate, -1);
        // Refresh the current row (the one changed by the UI) with the data it had at the beginning of the transaction
        currentRow.refresh(Row.REFRESH_UNDO_CHANGES);
        // The current row will now represent data for the the previous period set the effective end date for the previous period
        currentRow.setEffectiveEndDate(previousEffectiveEndDate);
        // Insert the newly created row that now represents the new period
        viewObject.insertRow(newRow);
        applicationModule.apply();
        return generateResult(newRow);
    PCodesVO() is based on PostalCodeEO
    below is the code from PostalCodeEOImpl
      public void create(AttributeList attributeList)
        // NOTE: This call will set attribute values if the entity object  is created with a call to vo.createAndInitRow(..)
        super.create(attributeList);
        if (getPostalCodeId() == null)
          setPostalCodeId(getOADBTransaction().getSequenceValue("XXAD_POSTAL_CODES_S"));
        if (getEffectiveStartDate() == null)
          setEffectiveStartDate(getOADBTransaction().getCurrentDBDate());
    After diagnosing the issue we found that the error is on the code of AMworker file while creating a new row PCodesVORowImpl newRow = (PCodesVORowImpl) viewObject.createAndInitRow(currentRow);
    we tried so many things such as clearing entity cache, VO cache, validating for duplicate primary key but still not able to resolved this.
    Please advice how to insert a new row on the PCodesVORowImpl without any exception.
    Thanks,
    Pallavi

    Hi ,
    One question here , if you are udating a existing record then why you are trying to create a new row
    PCodesVORowImpl newRow = (PCodesVORowImpl) viewObject.createAndInitRow(currentRow);
    Thanks
    Pratap

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

    I have implemented dependant dropdown in ADF.
    My page contains two dropdowns First one is independant and values in the second one is populated depending on the value chosen in the first one.
    I have used simple selecy query in my view objects and one entity object.
    but while running the page i am getting the error JBO-25013: Too many objects match the primary key oracle.jbo.key
    please help me with how to debug the error.

    Hi,
    Basically that error means exactly what it says. The primary key of your parent VO isn't unique and too many items in the parent VO have the same primary key.
    Post the sql here for your two VO's, and let us know what the primary key is.
    Are you using setCurrentRowWithKeyValue as the VO method to set the current row, or are you using setCurrentRowWithKey?
    -Chris

  • JBO-25013: Too many objects match the primary key oracle.jbo.Key[33 ]!!!

    Hi all, I have a huge problem...
    I have two tables in a parent - child relationship. Each has it's own entity and view object with appropriate associations and links. The parent table has an insert trigger which inserts default rows into the child table when a new parent row is created.
    Even in the application module tester (not to mention the equivalent .jspx)
    this error goes off :
    oracle.jbo.TooManyObjectsException: JBO-25013: Too many objects match the primary key oracle.jbo.Key[35 ].
    Sometimes, I couldn't figure out what makes the difference, the tester inserts the detail records just fine when inserting the master, but never from the page!!!
    How do I get around this problem?? I'm clueless.
    Any suggestions welcome. I'm desperate at this stage!
    A lots'a work will be lost (packages and triggers on the server...:((( if there's no solution.
    Thanx for yr help in advance, Ildiko

    looks like Database trigger causes "TooManyObjectsException JBO-25013" in view object

  • JBO-25013: Too many objects match the primary key oracle.jbo.Key[0 ].

    Hi All,
    I saw all the threads pertaining to this problem but couldn't find a proper solution.
    I m also facing the same problem. I have 2 view objects VIEW_A and VIEW_B. Both the view objects are created on the single entity objects independently. When I try to insert a row in VIEW_A, no error comes and all the input fields of the form are empty as it should be. But when I try to insert a row in VIEW_B, the form fields display the first row of database table automatically and giving the error as Error
    JBO-25013: Too many objects match the primary key oracle.jbo.Key[0 ]. ..
    I am unable to rectify the problem. why it works fine with one view object and not with other. Plz help. Its urgent...

    Hi,
    Many references in metalink relate to this error as a data corruption issue. Maybe you should check the data from the back end,from the corresponding tables , with the one you see in the application . I'm no expert in DB,but suggest you take the help of a DBA.

  • Getting Too many objects match the primary key oracle.jbo.Key...

    Hi,
    I am working on jDEV Version 11.1.1.2.0. In one of my page I am getting exception like "*Too many objects match the primary key oracle.jbo.Key......*".
    I have a Items EO and it's Child EO. I am using view criteria in Items VO and drag and dropped this as a Query panel (search criteria). On the right side top I am displaying results in a table. Below I have a Master form and Child table where users can add / edit the Model and it's child values. When user clicks on Save button I am calling BPELprocess (WSDL) which inserts into 3 other systems and return me the message. After Clicking the Save button and displaying the message if I search for the same model (which I created) then it will throw error like above. If I search for different Model it won't throw the error.
    For example I have created "TestModel" and If I type letter "T"in Input box and search then it will throw error. If I search for some other models which are not starting with letter "T" then it works fine.
    Any idea what may be the reason? Instead of calling services in the Save button I drag and dropped "Commit" button and tested then it works fine.
    This is really critical for my project. It would be great if someone can help me on this.
    Thanks
    MC

    JBO-27102: DeadViewRowAccessException
    Reason: Trying to access a ViewRow which is part of an obsolete/invalid collection. This could happen if a reference to the ViewRow is held by some business logic while the containing view object was removed.
    Solution: Find the referenced ViewRow either by re-querying or using findByKey methods to get a valid reference to the ViewRow. instead of create() can you try createInsert() or createAndInitRow()

  • Too many objects match the primary key

    Hi,
    I have created a view object based on entity wich has two attributes as a primary key. I have no problems to insert a new record, the problem is that the table(based on the view) is not refreshing even though it has a partial trigger of the button that invokes the create record.
    After the new record is created I call an action binding to execute the query and I got the error Too many objects match the primary key. So how can I refresh the table after inserting?. I also have jbo.locking.mode="optimistic" in the application module.

    I changed my code to :
    Row row = this.createRow();
    row.setAttribute("Gesdcodarea",codigoArea); // value:2
    row.setAttribute("Gesdcodrol",codigoRol); // value:19
    row.setAttribute("Gesdusrreg",usrRegistra);
    row.setAttribute("Gesdroltip",tipoRol);
    try {
    this.insertRow(row);
    this.getDBTransaction().commit();
    resultado = 1;
    } catch (Exception e) {
    logg.log(Level.SEVERE, "Error al registrar rol y area por usuario", e);
    and I get the error " JBO-27023 Failed to validate all rows"
    ## Detail 0 ##
    oracle.jbo.RowValException: JBO-27024: Failed to validate a row with key oracle.jbo.Key[2 null ] in EOGesdarearol.
    Caused by: oracle.jbo.AttrSetValException: JBO-27025: Failed to validate the attribute Gesdcodrol with the value 19
    Caused by: oracle.jbo.TooManyObjectsException: JBO-25013: Too many objects match the primary key oracle.jbo.Key[2 19 ].
    Edited by: Miguel Angel on 19/09/2012 06:24 PM
    Edited by: Miguel Angel on 19/09/2012 06:26 PM

  • How to Work with Composite Primary Key

    Hi All,
    I'm working with Toplink JPA. Here I have A problem with inserting into database table which have composite Primary Key.
    What I'm doing is, I have two tables. to maintain many to many relation between these two tables I created another intermediate table which consists of foreign Keys (reference) of above two tables.
    Now these two foreign Keys in the Intermediate table made as composite Primary Keys.
    When I'm trying to the data in the Intermediate table I'm getting the foreign Keys values are null..
    could anyone suggest me how to work with composite Primary Keys
    Thanks,
    Satish

    I have the same problem, I have 3 tables with a join table joining them all. I have created an intermediate table entity. When I go to create a an entry, it says that I cannot enter null into "ID". Here is the SQl toplink generates:
    INSERT INTO Z_AUTH_USER_AUTHORIZATION (CONTEXT_ID, AUTHORIZATION_ID, USER_ID) VALUES (?, ?, ?)
    bind => [null, null, null]
    Here are the classes:
    -----------------------Join Table-----------------------------------------------
    @Entity()
    @Table(name = "Z_AUTH_USER_AUTHORIZATION")
    public class AuthUserAuthorization implements Serializable{
    @EmbeddedId
    private AuthUserAuthorizationPK compId;
    // bi-directional many-to-one association to AuthAuthorization
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "AUTHORIZATION_ID", referencedColumnName = "ID", nullable = false, insertable = false, updatable = false)
    private AuthAuthorization authAuthorization;
    // bi-directional many-to-one association to AuthContext
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "CONTEXT_ID", referencedColumnName = "ID", nullable = false, insertable = false, updatable = false)
    private AuthContext authContext;
    // bi-directional many-to-one association to AuthUser
    @ManyToOne(fetch = FetchType.EAGER)
    @JoinColumn(name = "USER_ID", referencedColumnName = "ID", nullable = false, insertable = false, updatable = false)
    private AuthUser authUser;
    ---------------------------------------User table--------------------------------------------------------------
    @Entity()
    @Table(name = "Z_AUTH_USER")
    public class AuthUser implements Serializable, IUser{
    @Id()
    @SequenceGenerator(name = "AUTH_USER_ID_SEQ", sequenceName = "Z_AUTH_USER_ID_SEQ")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "AUTH_USER_ID_SEQ")
    @Column(name = "ID", unique = true, nullable = false, precision = 10)
    private Integer id;
    // bi-directional many-to-one association to AuthUserAuthorization
    @OneToMany(mappedBy = "authUser", fetch = FetchType.EAGER)
    private java.util.Set<AuthUserAuthorization> authUserAuthorizations;
    -----------------------------------Context table-----------------------------------------------------------------
    @Entity()
    @Table(name = "Z_AUTH_CONTEXT")
    public class AuthContext implements Serializable, IContext{
    @Id()
    @SequenceGenerator(name = "AUTH_CONTEXT_ID_SEQ", sequenceName = "Z_AUTH_CONTEXT_ID_SEQ")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "AUTH_CONTEXT_ID_SEQ")
    @Column(name = "ID", unique = true, nullable = false, precision = 8)
    private Integer id;
    // bi-directional many-to-one association to AuthUserAuthorization
    @OneToMany(mappedBy = "authContext", fetch = FetchType.EAGER)
    private java.util.Set<AuthUserAuthorization> authUserAuthorizations;
    ----------------------------Authorization table-------------------------------------------------
    @Entity()
    @Table(name = "Z_AUTH_AUTHORIZATION")
    public class AuthAuthorization implements Serializable, IAuthorization{
    @Id()
    @SequenceGenerator(name = "AUTH_AUTHORIZATION_ID_SEQ", sequenceName = "Z_AUTH_AUTHORIZATION_ID_SEQ")
    @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "AUTH_AUTHORIZATION_ID_SEQ")
    @Column(name = "ID", unique = true, nullable = false, precision = 8)
    private Integer id;
    // bi-directional many-to-one association to AuthUserAuthorization
    @OneToMany(mappedBy = "authAuthorization", fetch = FetchType.EAGER)
    private java.util.Set<AuthUserAuthorization> authUserAuthorizations;
    I have tried to create the new entity several ways. I have tried to create one with the default constructor then set this entity on each of the other entities, I have also tried to pass in the entities to the join entity and set them there, but this doesn't work. Any help would be very appreciated!
    Thanks,
    Bill

  • Capture & override JBO-25013 too many object objects match the primary key

    Hi
    Does anybody know how to override the default primary key errors raised by JDev?
    Under ADF BC and UIX, currently when a user creates a new record and attempt to save it where the PK values supplied already exist, the following 2 error messages are displayed:
    JBO-25013: Too many objects match the primary key oracle.jbo.Key[xx xx ].
    JBO-27024: Failed to validate a row with key oracle.jbo.Key[xx xx ] of type yyyyy
    Where xx are parts of my PK, and yyyyy is my table.
    What I'd like to do is replace these 2 error messages with a single, different error message.
    On the underlying EO I can capture JBO-27024 error message in the validateEntity method, but can't override nor stop the JBO-25013 message. I need to capture both and only show my alternative message.
    Any idea how to do this?
    Thanks & regards,
    CM.
    PS. JDev 10.1.2

    Boing X 3 :)
    Chris you got a solution for this ?

  • Problem With Compound Primary Key

    Hello Experts,
      i am facing some probelm with copound primarykey.
      the Probelm is
    i have data base table which has compound primary key  for that one i have created the entity bean(CMP) and primary key of type compound.using this i am able to insert record into databse but for updation i am using
    <b>findbyPrimarykey()</b> method ,for that methos i am passing
    primary key object with compound key values.
    when i am executing this methos it is throwing <b>nosuchobject exception.</b>
    what might be the problem
    any help will be appriciated
    thanks in advance
    With Regds
    Naidu

    Hi,
    Is ur compound primarykey class is something like this?
    public class PrimaryKey implements java.io.Serializable {
          public String id = "";
          public int no = 0;
          //a default constructor is required:
          public PrimaryKey() { }
          // optional constructor fo clients:
          public PrimaryKey(String id, int no) {
               this.id = smsId;
               this.no = no;
          public String toString() {
               return id + "" + no;
         public boolean equals(Object obj) {
              if (obj == null || !(obj instanceof PrimaryKey))
                      return false;
                   else if ((((PrimaryKey)obj).no == no) && (((PrimaryKey)obj).id.equals(id)))
                      return true;
                   else
                      return false;     
          public int hashCode() {
                return id.hashCode() + no ;

  • FindByKey with Composit Primary key

    Hi
    View Object based on Entity Object. Database table defined with Composit Primary Key.
    I have to query ViewObject using findByKey().
    Can any one help me how to use findByKey() using a composit primary key in ADF 11g.
    Thanks

    Hi,
    this is covered in the developer guide here:
    38.1.7 Understanding When You Can Use Partial Keys with findByKey()
    http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/bcadvvo.htm#ADFFD1189
    The key thing is to have your object types casted correctly or else null for your composite key.
    Brenden

  • Too many object match the primary key on master-detail tables

    Hi all,
    I am using Jdeveloper 11.1.1.2 and ADFBC.
    I have three table: tableA (with fields IdA,AttributeA), tableB (with fields IdB,AttributeB), tableC (with fields IdC,IdTableA,IdTableB,AttributeC).
    Table C has a composition relation with tableA and tableB.
    I have a panelTabbed with two tabs. In the first tab I can create a row in TableA and automatically (setting some parameters) I create a row in tableC. In the second tab I see the tableC
    I have this strange behavior when I try to create the row in tableA for the first time:
    I click on create button, I insert the values for tableA and commit, I have this error:
    too many object match the primary key Oracle.jbo.key [132]
    Instead if I click on create button, I insert the values for tableA, I move on the second tab, I return to the first tab and commit, I have no errors and the rows are correctly create on tableA and tableC.
    How can I solve it?
    Thank you
    Andrea

    It indicates that an Entity is being added to the Entity cache with the same primary key as an existing entity: http://download.oracle.com/docs/cd/E14571_01/apirefs.1111/e10653/oracle/jbo/CSMessageBundle.html#EXC_TOO_MANY_OBJECTS
    If the primary key based on sequence is assigned declaratively and your view link is based on an association, ensure that the association is marked as composition the Association settings.
    As this has been asked a few times in the forum, double-check for solutions here: http://forums.oracle.com/forums/search.jspa?threadID=&q=JBO-25013&objID=f83&dateRange=lastyear&userID=&numResults=15&rankBy=10001

Maybe you are looking for