Unique colum Error catching

Hello,
I have an Entity with a unique column.
( @Coumn(unique=true) )
Using them EntityManager.persist method the systems log an error, which comes from the unique key.
How can I catch this exception? try..catch does not work and with @TransactionAttribute I can catch only the transaction exception in the using webservices.
Some hint?

Hi,
See http://forum.java.sun.com/thread.jspa?threadID=772315&tstart=0
I think it is the same issue that the exception is raised at transaction commit time.

Similar Messages

  • ORA-00001: unique constraint error..

    Hi There,
    We were trying to do an insert when we started having ORA-00001: unique constraint error.. to speed our testing we decided to disable all the constraints on the table; however we still having the same issue.
    How can we resolve this please.
    SQL> select constraint_name,constraint_type,status from dba_constraints where table_name='MEMBER_LATEST';
    CONSTRAINT_NAME                C STATUS
    MEMBER_LATEST_PK               P DISABLED
    SYS_C0017577                   C DISABLED
    SYS_C0017576                   C DISABLED
    SYS_C0017575                   C DISABLED
    SYS_C0017574                   C DISABLED
    SYS_C0017573                   C DISABLED
    SYS_C0017572                   C DISABLED
    SYS_C0017571                   C DISABLED
    SYS_C0017570                   C DISABLED
    MEMBER_LATEST_FK               R DISABLED
    10 rows selected.
    SQL>
    SQL>
    SQL>     INSERT INTO MEMBER_LATEST (DIS_ID, TIMESTAMP, LAST_NAME, FIRST_NAME, MIDDLE_NAME, DIS_COUNT)
      2    SELECT DIS_ID, 'TEST', LAST_NAME, FIRST_NAME, MIDDLE_NAME, 0
      3    FROM MV_DIS_MEM, MV_DIS_COUNT
      4    WHERE MV_DIS_MEM.P_CODE =  MV_DIS_COUNT.P_CODE
      5    ORDER BY 1,3,4;
        INSERT INTO MEMSCH.MEMBER_LATEST (DIS_ID, TIMESTAMP, LAST_NAME, FIRST_NAME,
    ERROR at line 1:
    ORA-00001: unique constraint (MEMSCH.MEMBER_LATEST_PK) violated
    SQL>Anything else we can do please?
    Thanks

    rsar001 wrote:
    but isn't the unique index constraint part of the disabled constraints on the table as shown above?Not if index used by PK was created separately prior to PK:
    SQL> create table emp1 as select * from emp;
    Table created.
    SQL> alter table emp1
      2  add constraint emp1_pk
      3  primary key(empno);
    Table altered.
    SQL> insert into emp1 select * from emp;
    insert into emp1 select * from emp
    ERROR at line 1:
    ORA-00001: unique constraint (SCOTT.EMP1_PK) violated
    SQL> alter table emp1 disable primary key;
    Table altered.
    SQL> insert into emp1 select * from emp;
    14 rows created.
    SQL> rollback;
    Rollback complete.
    SQL> alter table emp1 drop primary key;
    Table altered.
    SQL> create unique index emp1_pk on emp1(empno);
    Index created.
    SQL> alter table emp1
      2  add constraint emp1_pk
      3  primary key(empno)
      4  using index emp1_pk;
    Table altered.
    SQL> insert into emp1 select * from emp;
    insert into emp1 select * from emp
    ERROR at line 1:
    ORA-00001: unique constraint (SCOTT.EMP1_PK) violated
    SQL> alter table emp1 disable primary key;
    Table altered.
    SQL> insert into emp1 select * from emp;
    insert into emp1 select * from emp
    ERROR at line 1:
    ORA-00001: unique constraint (SCOTT.EMP1_PK) violated
    SQL> But by dropping index you are simply delaying the issue. Yes, you will be able to insert, but what's then? You will not be able to recreate PK - same violation error will be raised.
    SY.

  • PK with TIMESTAMP causes insert unique constraint error at DST switch

    Hi,
    I have a test that inserts rows in a table that has a TIMESTAMP in its PK.
    When inserting rows that cross over the November DST change, it tries to insert these dates:
    --- Sun Nov 02 02:00:00 EST 2008
    --- Sun Nov 02 01:00:00 EST 2008
    --- Sun Nov 02 01:00:00 EDT 2008
    This is the output of 3 different UTC dates. We can see that there are 2 x 1am, but they differ in their DST. They are really 3 different UTC dates.
    But I get this error:
    --- Expected error: ORA-00001: unique constraint (DDLTEST1.SYS_C00142622) violated
    But I can get around that error and can insert these same dates if I set my JVM to UTC. The inserts work so I suspect this to be a JDBC issue.
    I am using the Oracle Thin driver in a spring app:
    <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" />
    <property name="url" value="jdbc:oracle:thin:@localhost:db" />
    I can post the sample code but wonder if there is an obvious answer to this.
    Note that MySql had the same problem. I fixed it by specifying the UTC timezone in the connection string, like this:
    jdbc:mysql://[host]/[db]?useLegacyDatetimeCode=false&useTimezone=true&sessionVariables=time_zone='UTC'
    Any idea how to get around that problem without setting JVM to UTC ?
    Claude
    Edited by: user2678899 on 10 juin 2009 10:09
    I removed #2 work around which was wrong
    Edited by: user2678899 on 10 juin 2009 10:23

    Timur Akhmadeev wrote:
    Hi,
    I suspect this to be a JDBC issue.Nope, this is your schema design gap. It breaks the main principle of PK: to uniquely identify a row in a table always. Your PK doesn't satisfy it, since it depends on client's settings.Why is setting the JVM to UTC working ? This is the part that confuses me.
    I create the 3 dates in Eastern time, then change the JVM default to UTC: the 3 inserts work.
    I create the 3 dates in Eastern time, then leave the JVM to Eastern time , the 3rd insert gets the unique constraint error.
    To me, the PK principle is not broken: these are 3 different UTC dates.

  • MView refresh error on 10gR2..(unique constraint error)

    Hi. all.
    The database is 2-node RAC 10gR2 on SunOS.
    Today morining, I got the following error.
    EXEC dbms_refresh.refresh('"ODSFAB"."CURRENTWIP"');
    ORA-12008: error in materialized view refresh path
    ORA-00001: unique constraint (ODSFAB.CURRENTWIP_GLASS_IDX) violated
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2254
    ORA-06512: at "SYS.DBMS_SNAPSHOT", line 2460
    ORA-06512: at "SYS.DBMS_IREFRESH", line 683
    ORA-06512: at "SYS.DBMS_REFRESH", line 195
    ORA-06512: at line 1
    I checked both the source and target table, but there is no unique-key confliction.
    The source table has no unique index, but the target table have one unique index
    for a business purpose.
    Finally, I dropped the miew log on a source table and mview , and recreated mview
    log and mview with the same unique constraint and the same data.
    I do not understand why I got "Unique constraint error".
    Any advice will be welcomed.
    Thanks in advance.
    Have a good day.
    Best Regards.
    Message was edited by:
    user507290

    Let us say column A is the unique key on target DB and exists in source DB.
    Now, on source DB,
    - Value 'X' is inserted in col A
    - Value "X" is again inserted in col A (or updated on colA)
    - Then one of these 2 rows is deleted
    Now, "if" Oracle applies all the transactions from the source to target in the
    same sequence as they occured, there is chance you can get unique error.you do
    But, if a full refresh, there won't be error.I would say that is a very plausible explanation. Somewhat difficult to verify, in the absence of low-level auditing on the source database.
    The situation as described is a bit yucky. Is there no way of putting a unique key on the table in the source database? If not, it seems to me that this scenario is bound to re-occur.
    Cheers, APC
    Blog : http://radiofreetooting.blogspot.com/

  • Unique constraint error on delete/insert

    Hi,
    I am using Jdeveloper 11.1.1.3.0. I have a ADF table where we can copy lines and delete lines. I get unique constraint error when I save. Looks like the insert operation in happening before the delete operation. Is there a way to set the execution order so that the logical behaviour is delete/update/insert.
    Thanks
    SV

    Hi,
    The unquie contraint is not from the primary key. There are three columns in the table (batch_id, line_number, line_type) which must be unique. In the UI, the user can delete lines, update lines and add lines and finally click the save button that does the commit. On delete the line_number gets re-numbered. So when committing, the unique error occurs because the line number already exists. Looks like insert is happening before update/delete. I cannot do commit after each delete/update/insert. I have to do it only if the user clicks the save button in the end. Is there a way to control the order of execution?
    SR

  • Unique Constraint Error at Apply side

    We have streams configured between two databases. Source database is of Version 9.2.0.3 and target database is of 9.2.0.4
    I have a table TEST with primary key PK_TEST on column A.
    Performed the following steps on the source database:
    Step1:
    insert into test values (1);
    1 row inserted.
    Total no of lcr's propagated : 1
    Step2:
    insert into test values (1);
    ORA-00001: unique constraint (TEST_USER.PK_TEST)violated.
    Total no of lcr's propagated : 1
    Step 3:
    Commit;
    Total no of lcr's propagated : 1
    On the source database, i have only one row in the TEST table but in the target schema iam getting "ORA-00001: unique constraint" error on applying the lcr's propagated from the source. If i remove the constraint from the target table then two rows are getting inserted in the target table rather only one rows should be inserted in the target table.
    Total 3 lcr's are propagated from source to target. For Step2, 2 lcr's should be propagated but only one is propagating.
    It looks strange but this is what happening in our environment. Has anyone faced this problem before? Please let me know how to solve this problem.

    Hi,
    I believe your problem is with the transaction.
    1) First you insert a row
    2) you try to insert it again, it fails
    3) you commit your work
    When propagated to your destination, the transaction does not commit because it failed in the second.
    Try inserting, commit and inserting again. It should work that way. Or else you may need to write an error handler to ignore ORA-0001 errors and commit (which I don't think it is good practice).
    Hope this helps,

  • Help with unique constraint ERROR!!!

    This error occurs after invoking a Stored Procedure program. When it tries to insert, the PK table goes beserk:
    ORA-00001: unique constraint (HASUNI.THA_OTHER_ACTIVITY_PK) violated
    ORA-06512: at "HASUNI.POPULATE_GDW_ACTIVITY", line 203
    ORA-06512: at "HASUNI.GDW_MASTER", line 21
    ORA-06512: at line 9
    I tried to clear the PK table to get past the unique constraint error, but I can't seem to delete contents.
    PLEASE HELP!!!!

    The other queries are erroring out. It doesn't like the HASUNI.THA_OTHER_ACTIVITY_PK. It says this is an undefined table.
    Insert Statement:
    INSERT INTO HASUNI.THA_OTHER_ACTIVITY <-- line 203
    SELECT
    viewActivity.GROUPID,
    SUBSTR(viewActivity.MEMBERID,11,9)||SUBSTR(viewActivity.MEMBERID,21,9),
    viewActivity.ACTIVITYSEQUENCE,
    val_first_day,
    TO_DATE('31DEC9999'),
    viewActivity.PRODUCTID,
    viewActivity.PRODPLANTYPE,
    SUBSTR(viewActivity.MEMBERID,11,9),
    SUBSTR(viewActivity.MEMBERID,21,9),
    viewActivity.CLASSVAL,
    viewActivity.PCC,
    viewActivity.BRANCH,
    viewActivity.ARC,
    viewActivity.LOCATION,
    viewActivity.MEMBERID,
    viewActivity.DOB,
    viewActivity.GENDER,
    viewActivity.MEMBERSTATUS,
    viewActivity.CHPNID,
    viewActivity.SSN,
    NULL,
    NULL,
    SUBSTR(viewActivity.ZIPCODE,1,5),
    SUBSTR(viewActivity.ZIPCODE,7,4),
    viewActivity.ST,
    viewActivity.SOURCESYSTEMID,
    viewActivity.SOURCE,
    viewActivity.INITIATEDBY,
    viewActivity.OUTCOMES,
    viewActivity.OUTCOMESDATE,
    viewActivity.INITACTDATE,
    viewActivity.INITACTTAKEN,
    viewActivity.INITACTTAKENDATE,
    viewActivity.INITUSERID,
    viewActivity.LASTMODUSRID,
    viewActivity.LASTMODDATE,
    'HAS',
    val_last_day,
    NULL
    FROM
    HASUNI.VW_GDW_ACTIVITY viewActivity,
    HASUNI.HA_OUTREACH outreach
    WHERE
    viewActivity.MEMBERID IN (SELECT viewActivity.MEMBERID FROM HASUNI.VW_GDW_ACTIVITY viewActivity)
    AND outreach.MMBR_ID = viewActivity.MEMBERID
    AND viewActivity.INITACTTAKEN = 'OTHER'
    AND (TRUNC(viewActivity.INITACTDATE) BETWEEN val_first_day AND val_last_day
    OR (TRUNC(viewActivity.INITACTDATE) < val_first_day
    AND TRUNC(viewActivity.LASTMODDATE) BETWEEN val_first_day AND val_last_day));

  • Toplink 10.1.3.1 Unique Constraint error

    Hi All,
    I'm working with toplink 10.1.3.1 using JDeveloper 10.1.3.1.
    When I'm using the Sequence in the toplink work bench, I'm getting the unique constraint error.
    What i did was, I checked the "Use sequencing" check box and filled the sequence name , table name and field in the toplink workbench wizard.
    And I kept true for "Use Native Sequencing" in the sequence of login tab for sessions.xml default file. And checked the preallocation Size and set to the minimum value of the sequence. I didn't checked the "Table", "Name Field" and "Counter Field" check boxes.
    The sequence is getting incremented for every execution. Its not getting the actual sequence current value. I don't know whether the value is getting cached.
    for example if the actual sequence number in the database is 1740
    but when I am running the toplink query It is generating the sequence number like 1738 and it is giving the Unique constraint when I am clicking on the button for three times (ie 1739,1740,1741)it is inserting successfully into the database.
    But when I am running the application again then it is generating the sequence number as 1739 I am unable to understand where I am going wrong.
    If I test The sequence in SQL Work Sheet it was working fine.
    could anyone suggest me the correct way of using the sequence in the toplink workbench.
    the Sequence was created using JDeveloper wizard with Increment 1.
    Thanks in advance,
    regards,
    Satish Dasari.

    Hi,
    Satish,Thanks for your reply.
    Let me tell the scenario. I have two tables A and B. First I am inserting an event_no in table A. and after that I read the data from table A including event_no and I am going to insert it into table B. Rarely I am getting an exception like Unique constraint violation error.
    I kept native sequencing true,preallocation size 1, Min value=1, Max-value=9999999, increment by 1, cache size=10, Enabled refresh only if new version.
    What are all the values that i need to be changed in order to recover from this error. Our application is running in a load balancing environment.
    Note: I am not able to simulate this in my desktop environment.
    Regards,
    P.Prasanna.

  • Error catcher: Error #1069: Property _bindingsByDestination not found

    I appear to be having a rather strange issue. In my Flex project I have a mx:Canvas with a mx:Resize inside. The mx:Resize is redundant and not needed at all. Currently it looks like this:
    <mx:Resize easingFunction="{Bounce.easeOut}" />
    Nothing uses it at all, its completly redundant. If I remove that one line of MXML the flash player complains with this error:
    Error catcher: Error #1069: Property _bindingsByDestination not found on ********* and there is no default value.
    Any ideas?
    Regards:
    John

    don't use the name property.  that is a string:
    targets=(obj.dropTarget.parent)
    trace(targets);
    trace(targets.x)

  • Java error: catch after unconditional catch

    Running Java 7, FF 15.0.1. When opening most web site, the following pops up: Java error: catch after unconditional catch. What is this? And, how to repair Java? This has been happening for the past several days. Thanks...

    Now there is a new version of Surf Canyon and problem is solved!

  • Error catching in process chains

    Hi experts
    I need to know if it's possile to catch errors while executing a process chain;
    actually if one of my process chains fails, it brutally stops without reaching the last process that resets some flags and sends an email to the client. Instead of this behaviour, I would like that after any error the process chain resumes directly the last process that sends the email.
    thank you in advance
    Full points available
    Francesco

    Usually if any failure in the process chain, it stops at that point and won't reach to the last process to execute the email variant.  If we didn't get email means that some problem within the process chain. So all process variants will get connected only with if successful option. I think, this is how it works.  Am not sure how the PC ending up with sending some email to the client as you mentioned.  Check the connectors.
    I don't think so we can catch the error the way you mentioned within process chain. Probably you can think of calling the PC through ABAP program with all your custom options.
    Thanks
    Viswa
    (Assign points if helpful)

  • ORA-00001 UNIQUE CONSTRAINT ERROR ON SYS.WRH$_SQLTEXT_PK?

    /u01/app/oracle/admin/bill02/bdump/bill02_m000_10074.trc
    Oracle Database 10g Enterprise Edition Release 10.1.0.3.0 - 64bit Production
    With the Partitioning, OLAP and Data Mining options
    ORACLE_HOME = /u01/app/oracle/product/10.1.0
    System name: SunOS
    Node name: bill02
    Release: 5.9
    Version: Generic_117171-17
    Machine: sun4u
    Instance name: bill02
    Redo thread mounted by this instance: 1
    Oracle process number: 55
    Unix process pid: 10074, image: oracle@bill02 (m000)
    *** 2005-10-27 02:03:14.682
    *** ACTION NAME:(Auto-Flush Slave Action) 2005-10-27 02:03:14.667
    *** MODULE NAME:(MMON_SLAVE) 2005-10-27 02:03:14.667
    *** SERVICE NAME:(SYS$BACKGROUND) 2005-10-27 02:03:14.667
    *** SESSION ID:(519.24807) 2005-10-27 02:03:14.667
    *** KEWROCISTMTEXEC - encountered error: (ORA-00001: unique constraint (SYS.WRH$_SQLTEXT_PK) violated
    *** SQLSTR: total-len=570, dump-len=240,
    STR={INSERT INTO wrh$_sqltext                      (sql_id, dbid, sql_text,                       command_type, snap_id, ref_count)      SELECT /*+ ordered use_nl(s1) index(s1) */             sie.sqlid_kewrsie, :dbid, s1.sql_fulltext,           }
    *** KEWRAFM1: Error=13509 encountered by kewrfteh
    How to fix?
    Thanks!

    Have you tried searching Metalink? A unique constraint violation on a SYS table by MMON will almost certainly require Oracle Support's assistance to resolve. Something rather deep inside Oracle has done something wrrong.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • ORA-00001 - Unique Constraint error in Oracle forms 6i

    Hi,
    I am using Forms 6i. I have an issue while inserting records into a custom table.  Below is the functionality.
    When I check the check box,  and press the 'APPROVE' button, the record gets inserted into the custom table. But while inserting I am getting 'ora-00001-unique constraint violated error'.
    But the custom table doesn't have any data in it. (So the inserting record should not be a duplicate record).
    Any suggestions would be of great help.
    Thanks
    Deepti

    Is it a sql statement that is performing the insert, or are you using the native data block DML functionality in your form?  Secondly have you identified candidate columns that could be causing your issue?
    If you are using sql statement have you debugged to comfirm that you are not firing the same block of code more that once, and that if it is required to execute multiple times are you incrementing the sequence values that should be unique.
    Regards
    Q

  • Unique Index Error while running the ETL process

    Hi,
    I have Installed Oracle BI Applications 7.9.4 and Informatica PowerCenter 7.1.4. I have done all the configuration steps as specified in the Oracle BI Applications Installation and Configuration Guide. While running the ETL process from DAC for Execution Plan 'Human Resources Oracle 11.5.10' some tasks going to status Failed.
    When I checked the log files for these tasks, I found the following error
    ANOMALY INFO::: Error while executing : CREATE INDEX:W_PAYROLL_F_ASSG_TMP:W_PRL_F_ASG_TMP_U1
    MESSAGE:::java.lang.Exception: Error while execution : CREATE UNIQUE INDEX
    W_PRL_F_ASG_TMP_U1
    ON
    W_PAYROLL_F_ASSG_TMP
    INTEGRATION_ID ASC
    ,DATASOURCE_NUM_ID ASC
    ,EFFECTIVE_FROM_DT ASC
    NOLOGGING PARALLEL
    with error java.sql.SQLException: ORA-12801: error signaled in parallel query server P000
    ORA-01452: cannot CREATE UNIQUE INDEX; duplicate keys found
    EXCEPTION CLASS::: java.lang.Exception
    I found some duplicate rows in the table W_PAYROLL_F_ASSG_TMP with the combination of the columns on which it is trying to create INDEX. Can anyone give me information for the following.
    1. Why it is trying to create the unique index on the combination of columns which may not be unique.
    2. Is it a problem with the data in the source database (means becoz of duplicate rows in the source system).
    How we need to fix this error. Do we need to delete the duplicate rows from the table in the data warehouse manually and re-run the ETL process or is there any other way to fix the problem.

    This query will identify the duplicate in the Warehouse table preventing the Index from being built:
    select count(*), integration_id, src_eff_from_dt from w_employee_ds group by integration_id, src_eff_from_dt having count(*)>1;
    To get the ETL to finish issue this delete to the W_EMPLOYEE_DS table:
    delete from w_employee_ds where integration_id = '2' and src_eff_from_dt ='04-JAN-91';
    To fix it so this does not happen again on another load you need to find the record in the Vision DB, it is in the PER_ALL_PEOPLE_F table. I have a Vision source and this worked:
    select rowid, person_id , LAST_NAME FROM PER_ALL_PEOPLE_F
    where EFFECTIVE_START_DATE = '04-JAN-91';
    ROWID PERSON_ID
    LAST_NAME
    AAAWXJAAMAAAwl/AAL 6272
    Kang
    AAAWXJAAMAAAwmAAAI 6272
    Kang
    AAAWXJAAMAAAwmAAA4 6307
    Lee
    delete from PER_ALL_PEOPLE_F
    where ROWID = 'AAAWXJAAMAAAwl/AAL';

  • Unique Constraint error while executing statspack.snap procedure

    The following is the error which popped up when i was trying to execute statspack.snap procedure from perfstat user:
    ORA-00001: unique constraint (PERFSTAT.STATS$LATCH_CHILDREN_PK) violated
    ORA-06512: at "PERFSTAT.STATSPACK", line 1619
    ORA-06512: at "PERFSTAT.STATSPACK", line 71
    ORA-06512: at line 1
    How could i resolve such a problem, as all the constraints and objects for this user are created while running the oracle supplied script 'spcreate.sql'.
    If any 1 knows how to handle such a situation , can come forward n please help me out.

    SQL> execute statspack.snap (i_snap_level=>10);
    ERROR at line 1:
    ORA-00001: unique constraint (PERFSTAT.STATS$LATCH_CHILDREN_PK) violated
    ORA-06512: at "PERFSTAT.STATSPACK", line 1619
    ORA-06512: at "PERFSTAT.STATSPACK", line 71
    ORA-06512: at line 1
    Cause
    -- Its because of the bug # 2384758.
    "STATSPACK.SNAP GIVES ORA-1 ON STATS$LATCH_CHILDREN_PK WHEN I_SNAP_LEVEL=>10"
    -- The STATS$LATCH_CHILDREN table has a primary key constraint on (snap_id, dbid, instance_number, latch#, child#).
    Fix
    -- This is fixed in 9.0.2 and will not be backported to earlier versions because the level 10 is not a normal level to be setting unless requested by oracle support.

Maybe you are looking for