FindByPrimaryKeys with multiple primary keys

Hi, I have a table which has a primary key over 2 fields.
I have learned that in this case, I must leave out the <primkey-field> tag from my ejb-jar.xml. In my Entity Bean's Home interface, do I still need to declare a findByPrimaryKey finder method or do I leave it out?
Thanks!

Hi,
When you have primary key in 2 fields, then you have to combine them into a class called primary key class.
And yes in your ejb-jar.xml the value for <primkey-field> will be left empty and the value for tag <primkey-key-class> would be the name of your primary key class that you generated. Otherwise, the normal valu would be java.lang.String.

Similar Messages

  • How shall we do validation for Unique Key and Multiple Primary Key?

    Hi,
    I have table created From EO in which one column is checked as Unique.
    How to do validation for column checked as Unique.
    I know how to do validation for column checked as primary key.
    Below is sample code for primary key validation
    if (getRvSize() != null)
    throw new OAAttrValException(OAException.TYP_ENTITY_OBJECT,
    getEntityDef().getFullName(), // EO name
    getPrimaryKey(), // EO PK
    "RvSize", // Attribute Name
    value, // Attribute value
    "AK", // Message product short name
    "FWK_TBX_T_EMP_ID_NO_UPDATE"); // Message name
    if (value != null)
    OADBTransaction transaction = getOADBTransaction();
    Object[] rvKey = {value};
    EntityDefImpl rvDefinition = xxczVAGCSRVSizingEOImpl.getDefinitionObject();
    xxczVAGCSRVSizingEOImpl rv =
    (xxczVAGCSRVSizingEOImpl)rvDefinition.findByPrimaryKey(transaction, new Key(rvKey));
    if (rv != null)
    throw new OAAttrValException(OAException.TYP_ENTITY_OBJECT,
    getEntityDef().getFullName(), // EO name
    getPrimaryKey(), // EO PK
    "RvSize", // Attribute Name
    value, // Attribute value
    "AK", // Message product short name
    "FWK_TBX_T_EMP_ID_UNIQUE"); // Message name
    What changes need to be done for above code in order to do the validation for Unique Key.
    I have one more Question
    How shall we do the Validation for Multiple Primary Key in a table?
    - Mithun

    1. If you just validate on one attribute like your unique key, then put your logic in the set<Your AttributeName) method
    2. If you want to do the cross validation ( like validating multiple attributes) then put your logic in the validateEntrity Method
    How to do that?
    1. Create a Validation View object.
    2. Associate your VVO to the VAM
    3. Create entity expert.
    4. Have method in entity expert for your validation (you would be calling AM and then VO execute the query and do the validation.
    5. You would be calling the Entity experty method from your EO either setMethods or validateEntity.
    I have given just the high level points.
    Hope this helps.
    Thanks,
    RK

  • Use multiple primary keys to create DB constraint

    Hi,
    Is it possible to have multiple primary keys within one EJB to create a DB including the constraints, if so how? Is there an example of this or any example which uses multiple primary keys to create a DB?
    Thanks,
    Maarten

    "Is it possible to have multiple primary keys within one EJB..."
    If you mean a composite key, yes. Your PrimaryKeyObject would have one attribute for each column that makes up your composite key. If that's not what you meant, please clarify.
    "...to create a DB including the constraints"
    Not sure what you mean here. Constraints are enforced by the DB, and you don't create databases with EntityBeans.

  • Duplicate record with same primary key in Fact table

    Hi all,
       Can the fact table have duplicate record with same primary key . When i checked a cube i could see records with same primary key combination but the key figure values are different. My cube has 6 dimentions (Including Time,Unit and DP) and 2 key figures. So 6 fields combined to form the composite primary key of the fact table. When i checked the records in se16 i could see duplicate records with same primary key. Ther are no parallel loading happening for the cube.
    BW system version is 3.1
    Data base is : Oracle 10.2
    I am not sure how is this possible.
    Regards,
    PM

    Hi Krish,
       I checked the datapacket dimention also. Both the record have same dimention id (141). Except the Keyfigure value there is no other change in the Fact table record.  I know this is against the basic DBMS primary key rule. But i have records like this in the cube.
    Can this situation arise when same records is there in different data packet of same request.
    Thx,
    PM
    null

  • Insert values of form on a table with compound primary keys in APEX

    Good evening,
    I have a table with compoud primay keys. On ER model I had a many to many relation and when I coverted to relational model I've got a table with the primary keys of the two entities.
    My problem now is that I am trying to build an APEX application with a Form/Report and I want to insert a tuple both on the "entity" and on the table with two primary keys.
    I created a trigger with
    CREATE OR REPLACE TRIGGER ins_key_elem
    INSTEAD OF INSERT
    ON v_key_elem
    REFERENCING NEW AS NEW
    FOR EACH ROW
    BEGIN
    INSERT INTO elem_type (elem_key, type_key)
    VALUES (:NEW.elem_key, :NEW.type_key);
    INSERT INTO elem(elem_key, name)
    VALUES (:NEW.elem_key, :NEW.name);
    END;
    Is that ok? If it is, now how I can use that trigger to do what I need? i.e. insert the tuple on the two tables when I use the create button of the form
    Edited by: 934530 on May 15, 2012 2:36 PM

    Nevermind...figured it out. Was able to set the value on the Report Attributes page.

  • Updating a table with no Primary key

    What I am trying to find out is if you can uniquely update a single record in a table that has no primary key. I see no way to reference the record I want, other than specifying all the field values in a where clause. This is a problem though, because if I have another record with the same field values, that will get updated too. (I know its a bad database design, but some people do it and I need to work around it!!!), there are some situations where you would have identical records as far as a where clause is concerned, for example, you cant use a blob in a where clause so that might be where your records differ...
    In SQLServer 2000, Enterprise manager throws an error if you have a table with no primary key and duplicate records that you try to update through the GUI. EM uses stored procedures to execute updates, and it rolls back ones which result in more than one update result.
    Im not too familiar with Cursors in SQL, only that they are quite slow and not implemented on all DB products. But I think that they might be able to solve the problem (but I dont logically see how).
    Can anybody explain this to me?

    another record with the same field valuesIf you have two records and all the field values are the same then the records are logically the same anyways, so it shouldn't matter if you update both (one would question why there are two records in the first place.) In other words there is no way, either computationally or manually to tell them apart.
    I suspect that that is rather rare. Instead what is more likely is that you are only using some of the fields. So just keep adding fields until it is unique.

  • DBMS_CDC find only the columns that are changed along with the primary key in the table

    Hello,
    We are having a requirement to find the change data in the production environment.
    We are planning to use the DBMS_CDC utility.
    But for  example in the create change table 1 picked emp_id,ename, address, salary,dob.
    I have a sample data of
    empid
    ename
    address
    salary
    DOB
    1
    test1
    24 test street
    2000
    20-Jan-98
    2
    test2
    25 test street
    2500
    15-Aug-97
    if ename for empid 1 is changed to test1_test3 from test1.
    My CDC is capturing  the values in the old and new values in the 5 columns.
    But i need to get only the empid (primary key of the source table) and the ename column as only that's been updated not the rest of the 3 columns.
    Can i accomplish this.
    Please advice.

    Hello,
    Thanks for the information.
    but if i change the change table  then i will miss the other columns right?
    I want to get the columns( empid and ename) only if ename is changed. i.e when ever any column in emp table changes i need to get all the columns where the data is changed along with the primary key columns empid.
    Is there any way i can tweak the parameters so that i can achieve this or is there any other way using the cdc i can get this data.
    Thanks

  • 2 tables with same primary key

    Hi,
    2 tables with same primary key is possible,but when is wise to go for such ?
    is that a bad desisn ?
    eg:
    Personal_details_employee
    Official_details_employee
    these 2 tables have same Primary key emp_id.
    plz. reply me at [email protected] also
    thanx
    vikram

    hi Vikram,
    In this case u can have then in one table itself and why do want to have two tables.
    - Suresh.A

  • Powershell script to get all the AD accounts with multiple primary SMTP addresses

    I require a script to be run in powershell for Win Server 2008 R2, to look to AD accounts with multiple primary SMTP addresses ?
    Description: In my Organization, there can be a configuration error which might have resulted in multiple primary SMTP addresses to be assigned to a user. I want to get the list of these AD accounts which have multiple primary SMTP addresses

    Hi,
    You can use the PowerShell command given below to get the AD User name and primary smtp address in a OU,
    Get-ADuser -filter {proxyAddresses -like "*"} -searchbase "ou=testOU,dc=MyDomain,dc=local" -properties * | select name,proxyaddresses | fl
    NOTE: proxyAddresses attribute in AD User matches the primary SMTP address.
    Regards,
    Gopi
    JiJi
    Technologies

  • 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

  • Mapping tables with no primary key defined

    Hi!
    I was just wondering if it's possible to map a table with no primary key? The reason why is that I have a logging table that I want to access, which is built very simple and the only useful filtering criteria that I'll be using there is a date column.
    Regards,
    Bjorn Boe

    TopLink requires that an object have a primary key to determine identity, perform caching, and database updates and deletes. It is best to define a primary key in all your objects; a sequence number can be used if the object has no natural primary key. The primary key does not have to be defined on the database, as long as a set of fields in the table are unique you can define them to be the primary key in your TopLink descriptor.
    If your table truly has no primary key, nor unique set of fields, it is still possible to map the table with some restrictions. If you disable caching, and mark the object as read-only, and never update or delete the object, you can map it for read-only purposes.
    You will need to do the following:
    - Set any field as the primary key to avoid the validation warning.
    - Set the cache type to NoIdentityMap.
    - Set the descriptor to be read-only.

  • Problem with Sting Primary Key

    I have probleme with Sting Primary Key
    when i create new row
    System.out.println("is new:" + acct.getEntityState());
    show 1 - this row is not new
    why?

    Hi,
    I was unable to reproduce this behavior on OWM 10.1.0.8. It appears that you have a SR open for this issue, so I would suggest to continue with that process.
    Regards,
    Ben

  • Problem with varchar2 primary key..

    OWM version 10.1.0.8
    When I am trying to add a column in a version enable table with varchar2 primary key, it fails.
    If primary key is numeric it works.
    See below the test case.
    -- CASE 1. When primary key is number.
    SQL> create table wmtab
    ( wmtab_id number,
    price number,
    title varchar2(80),
    AUTHOR VARCHAR2(10)
    Table created.
    SQL> ALTER TABLE wmtab add (CONSTRAINT PK_kontakt PRIMARY KEY (wmtab_id));
    Table altered.
    SQL> EXECUTE DBMS_WM.EnableVersioning('WMTAB');
    PL/SQL procedure successfully completed.
    SQL> CALL DBMS_WM.BEGINDDL('WMTAB');
    Call completed.
    SQL> ALTER TABLE wmtab_lts add ( FREIGEGEBEN varchar2(1));
    Table altered.
    SQL> CALL DBMS_WM.commitDDL('WMTAB');
    Call completed.
    -- CASE 2. When primary key is varchar2.
    SQL> create table wmtab
    (wmtab_id varchar2(10) constraint wmtab_pk primary key,
    price number,
    title varchar2(80),
    AUTHOR VARCHAR2(10)
    Table created.
    SQL> EXECUTE DBMS_WM.EnableVersioning('WMTAB');
    PL/SQL procedure successfully completed.
    SQL> CALL DBMS_WM.BEGINDDL('WMTAB');
    Call completed.
    SQL> ALTER TABLE wmtab_lts add ( FREIGEGEBEN varchar2(1));
    Table altered.
    SQL> call DBMS_WM.CommitDDL('wmtab');
    call DBMS_WM.CommitDDL('wmtab')
    ERROR at line 1:
    ORA-20199: primary key columns cannot be added/dropped/modified/reordered for
    version enabled tables
    ORA-06512: at "SYS.OWM_DDL_PKG", line 6196
    ORA-06512: at "SYS.LT", line 11930
    ORA-06512: at line 1
    Same problem is reprosucible on OWM 10.2.0.1.
    But its working fine with varchar2 primary key On OWM 10.2.0.4.2/3
    Is there any workaround or we can get patch for 10.1.x.x?

    Hi,
    I was unable to reproduce this behavior on OWM 10.1.0.8. It appears that you have a SR open for this issue, so I would suggest to continue with that process.
    Regards,
    Ben

  • 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

  • Multiple Primary Keys - MySQL to Oracle 9i

    I was wondering, does OMWB make the necessary sequences and triggers in the database migration in which a table in MySQL has multiple primary keys. Based on my migration, I took at look at then Enterprise Manager, all i saw was that a squence was created but it did not say which column.
    Could someone give me any advice on this, this is the first time using this.
    Tks,
    Andrew

    Andrew,
    only one PRIMARY KEY can exist on a table - you can have multiple UNIQUE indexes. OMWB migrates each PRIMARY KEY and
    UNIQUE index in MySQL to PRIMARY KEY and UNIQUE indexes in Oracle. This is why I am not clear about your question. You would
    see TRIGGERS and SEQUENCES created by OMWB when it migrates the ENUM and AUTO INCREMENT. Can you explain
    the problems you are having a little more please? I hope the information I have already provided is of some help.
    Regards,
    Team OMWB.

Maybe you are looking for

  • Word doc to ebook questions

    Hi, I'm close to finishing the last edits on volume 1 of my 'grand epic' . It's in Word. At the moment it's formatted for print, but once the edits are done I want to format a copy for ebook. I haven't used a traditional chapter structure; the book h

  • Best way to export/compress for DVD???

    Hi there friends, Can someone please advise the best method, export and compress to put my project on DVD. It is 14.5gb in size and I would like to put it on one dvd....... Help please.

  • Error message: "itunes could back the iphone because an error occured"

    Error message: "itunes could back the iphone because an error occured" when i am syncing my iphone with itunes. It seems that itunes manage to syn my contacts up till photos then the error message occured. can anyone help? Thanks

  • Subcontracting in PP/APO - Fabless

    Hi SAP Gurus, I am supporting Semiconductor client. So far we have been doing some of the production activities inhouse and some of them were subcontracted. Now we are planning to move to complete subcontracting and doing nothing at the plant locatio

  • An impdp problem

    Hi, 11gR2, in linux86_64 I can did a successful exp (expdp) from source db by using "sysdba". when using impdp, can see error: Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning and Automa