|
View:
New views
6 Messages
—
Rating Filter:
Alert me
|
|
|
Missing records even though inserts appear to occurI've got a very strange situation transpiring. I'm using EclipseLink 1.1.2 and it seems that records that should be inserting are simply disappearing. I can see the INSERT statements being generated in the log files but only some of the records actually make it into the database. Worse is that this doesn't always happen. I've got an Order and a LineItem coded as follows: @IdClass(OrderPk.class) @Entity public class Order implements Serializable { @Id @Column(name = "ORDER_NO", nullable = false, length = 12, updatable = false) private String orderNo; @Id @Column(name = "ORDER_CODE", nullable = false, length = 1, updatable = false) private String orderCode; .... } @IdClass(LineItemPk.class) @Entity public class LineItem implements java.io.Serializable { @ManyToOne(fetch = FetchType.EAGER) @JoinColumns({ @JoinColumn(name = "ORDER_NO", referencedColumnName = "ORDER_NO"), @JoinColumn(name = "ORDER_CODE", referencedColumnName = "ORDER_CODE"), }) private Order order; @Id @Column(name = "ORDER_NO", length = 12, updatable = false, insertable=false) private String orderNo; @Id @Column(name = "LINE_NO", nullable = false) private Integer lineNo; @Id @Column(name = "ORDER_CODE", nullable = false, length = 1, updatable = false, insertable=false) private String orderCode; ... } Looking at my log files I can see the INSERT statements for the Order and all the LineItems being generated and no exceptions occurring. But for the Order listed below, LineItem 1 is missing in my database. [#|2009-09-29T18:42:55.524-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO ORDER_HEADER (ORDER_CODE, ORDER_NO, SOURCE_RECORD_DATE, CUSTOMER_NO, BILL_TO_ID, SHIP_TO_ID, VERSION, CURRENCY, RELEASE_DATE, MOD_DATE, DISCOUNT_TYPE, SOLD_TO_ID, OWNER, CREATE_DATE, OPS_CENTER) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [O, 1486597, 2009-09-29 18:22:24.463, 10919, 8, 1, 1, USD, 2009-09-29 18:38:44.87, 2009-09-29 18:42:55.496, COMC, 1, bob, 2009-09-29 18:42:55. 496, CONC ]|#] [#|2009-09-29T18:42:55.528-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [5, null, SC, 0.0000, Unclassified GL Major, 1, 2009-09-29 18:42:55.496, 0.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 99994, 1486597, O]|#] [#|2009-09-29T18:42:55.532-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [4, null, SC, 0.0000, Unclassified GL Major, 1, 2009-09-29 18:42:55.496, 0.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 98482, 1486597, O]|#] [#|2009-09-29T18:42:55.536-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [1, 13839-75-1503-42, SW, 6642.5000, ASE with Options, 1, 2009-09-29 18:42:55.496, 13285.0000, 24.0, 50.0, 2009-09-29 18:42:55.496, 13839, 1486597, O]|#] [#|2009-09-29T18:42:55.540-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [7, 13839-75-1503-42, SW, 22135.0000, ASE with Options, 1, 2009-09-29 18:42:55.496, 44270.0000, 24.0, 50.0, 2009-09-29 18:42:55.496, 13839, 1486597, O]|#] [#|2009-09-29T18:42:55.544-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [2, 13839-75-1503-42, SW, 5535.0000, ASE with Options, 1, 2009-09-29 18:42:55.496, 11070.0000, 24.0, 50.0, 2009-09-29 18:42:55.496, 13839, 1486597, O]|#] [#|2009-09-29T18:42:55.548-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [6, null, SC, 0.0000, Unclassified GL Major, 1, 2009-09-29 18:42:55.496, 0.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 99996, 1486597, O]|#] [#|2009-09-29T18:42:55.552-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [3, null, SU, 205884.0000, Unclassified GL Major, 1, 2009-09-29 18:42:55.496, 411768.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 98483, 1486597, O]|#] Thanks for taking the time to help... Chris Mathrusse christopher.mathrusse@... _______________________________________________ eclipselink-users mailing list eclipselink-users@... https://dev.eclipse.org/mailman/listinfo/eclipselink-users |
|||||||||||
|
|
Re: Missing records even though inserts appear to occurI had a similar issue with Toplink, only with DELETEs. Moving to
eclipselink solved the problem (1.1.2.v20090612-r4475). Try changing the DB and see if that helps. Also, you can check the DB logs (rather than glassfish') to see if the statement got to the DB. Michael On Wed, Sep 30, 2009 at 11:32 PM, <Christopher.Mathrusse@...> wrote: > > I've got a very strange situation transpiring. I'm using EclipseLink 1.1.2 > and it seems that records that should be inserting are simply disappearing. > I can see the INSERT statements being generated in the log files but only > some of the records actually make it into the database. Worse is that this > doesn't always happen. > > I've got an Order and a LineItem coded as follows: > > @IdClass(OrderPk.class) > @Entity > public class Order implements Serializable { > @Id > @Column(name = "ORDER_NO", nullable = false, length = 12, updatable > = false) > private String orderNo; > > @Id > @Column(name = "ORDER_CODE", nullable = false, length = 1, updatable > = false) > private String orderCode; > .... > } > > @IdClass(LineItemPk.class) > @Entity > public class LineItem implements java.io.Serializable { > > @ManyToOne(fetch = FetchType.EAGER) > @JoinColumns({ > @JoinColumn(name = "ORDER_NO", referencedColumnName = > "ORDER_NO"), > @JoinColumn(name = "ORDER_CODE", referencedColumnName = > "ORDER_CODE"), > }) > private Order order; > > @Id > @Column(name = "ORDER_NO", length = 12, updatable = false, > insertable=false) > private String orderNo; > > @Id > @Column(name = "LINE_NO", nullable = false) > private Integer lineNo; > > @Id > @Column(name = "ORDER_CODE", nullable = false, length = 1, updatable > = false, insertable=false) > private String orderCode; > ... > } > > > Looking at my log files I can see the INSERT statements for the Order and > all the LineItems being generated and no exceptions occurring. But for the > Order listed below, LineItem 1 is missing in my database. > > [#|2009-09-29T18:42:55.524-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > ORDER_HEADER (ORDER_CODE, ORDER_NO, SOURCE_RECORD_DATE, CUSTOMER_NO, > BILL_TO_ID, SHIP_TO_ID, VERSION, CURRENCY, RELEASE_DATE, MOD_DATE, > DISCOUNT_TYPE, SOLD_TO_ID, OWNER, CREATE_DATE, OPS_CENTER) VALUES > (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) > bind => [O, 1486597, 2009-09-29 18:22:24.463, 10919, 8, 1, 1, USD, > 2009-09-29 18:38:44.87, 2009-09-29 18:42:55.496, COMC, 1, bob, 2009-09-29 > 18:42:55. 496, CONC ]|#] > > [#|2009-09-29T18:42:55.528-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [5, null, SC, 0.0000, Unclassified GL Major, 1, 2009-09-29 > 18:42:55.496, 0.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 99994, 1486597, > O]|#] > > [#|2009-09-29T18:42:55.532-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [4, null, SC, 0.0000, Unclassified GL Major, 1, 2009-09-29 > 18:42:55.496, 0.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 98482, 1486597, > O]|#] > > [#|2009-09-29T18:42:55.536-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [1, 13839-75-1503-42, SW, 6642.5000, ASE with Options, 1, > 2009-09-29 18:42:55.496, 13285.0000, 24.0, 50.0, 2009-09-29 18:42:55.496, > 13839, 1486597, O]|#] > > [#|2009-09-29T18:42:55.540-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [7, 13839-75-1503-42, SW, 22135.0000, ASE with Options, 1, > 2009-09-29 18:42:55.496, 44270.0000, 24.0, 50.0, 2009-09-29 18:42:55.496, > 13839, 1486597, O]|#] > > [#|2009-09-29T18:42:55.544-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [2, 13839-75-1503-42, SW, 5535.0000, ASE with Options, 1, > 2009-09-29 18:42:55.496, 11070.0000, 24.0, 50.0, 2009-09-29 18:42:55.496, > 13839, 1486597, O]|#] > > [#|2009-09-29T18:42:55.548-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [6, null, SC, 0.0000, Unclassified GL Major, 1, 2009-09-29 > 18:42:55.496, 0.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 99996, 1486597, > O]|#] > > [#|2009-09-29T18:42:55.552-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [3, null, SU, 205884.0000, Unclassified GL Major, 1, 2009-09-29 > 18:42:55.496, 411768.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 98483, > 1486597, O]|#] > > > Thanks for taking the time to help... > > Chris Mathrusse > christopher.mathrusse@... > > _______________________________________________ > eclipselink-users mailing list > eclipselink-users@... > https://dev.eclipse.org/mailman/listinfo/eclipselink-users > > eclipselink-users mailing list eclipselink-users@... https://dev.eclipse.org/mailman/listinfo/eclipselink-users |
|||||||||||
|
|
Re: Missing records even though inserts appear to occurI think I found the issue. The LineItem table was defined as follows: CREATE TABLE LINE_ITEM (LINE_NO INTEGER NOT NULL, PART_NO VARCHAR(25) NULL, ORDER_CODE VARCHAR(1) NOT NULL, ITEM_TYPE VARCHAR(2) NOT NULL, UNIT_PRICE NUMERIC(38) NOT NULL, NORMALIZED_PRODUCT_NAME VARCHAR(50) NULL, VERSION INTEGER NOT NULL, ORDER_NO VARCHAR(12) NOT NULL, MOD_DATE DATETIME NOT NULL, LIST_PRICE NUMERIC(38) NOT NULL, BUY_QTY_DUE FLOAT(32) NOT NULL, DISCOUNT_PERCENT FLOAT(32) NOT NULL, CREATE_DATE DATETIME NOT NULL, CATALOG_NO VARCHAR(30) NULL, PRIMARY KEY (LINE_NO, ORDER_CODE, ORDER_NO)) GO This was the DDL generated by EclipseLink. The problem is with the UNIT_PRICE column. It is defined s UNIT_PRICE NUMERIC(38) NOT NULL. The LineItem that was missing had a unit price of 6642.5000, which ASE complained about when I attempted an insert from DBVisualizer with the following message: Scale error during implicit conversion of NUMERIC value '6642.5000' to a NUMERIC field. If I alter the COLUMN to be NUMERIC(38,2) then the insert succeeds. I'm a bit surprised by the fact that no exceptions were thrown during the insert of this line item. Absolutely nothing showed in my log file. I would have expected EclipseLink to generate the DDL differently but perhaps I expect too much. Chris Mathrusse christopher.mathrusse@...
I had a similar issue with Toplink, only with DELETEs. Moving to eclipselink solved the problem (1.1.2.v20090612-r4475). Try changing the DB and see if that helps. Also, you can check the DB logs (rather than glassfish') to see if the statement got to the DB. Michael On Wed, Sep 30, 2009 at 11:32 PM, <Christopher.Mathrusse@...> wrote: > > I've got a very strange situation transpiring. I'm using EclipseLink 1.1.2 > and it seems that records that should be inserting are simply disappearing. > I can see the INSERT statements being generated in the log files but only > some of the records actually make it into the database. Worse is that this > doesn't always happen. > > I've got an Order and a LineItem coded as follows: > > @IdClass(OrderPk.class) > @Entity > public class Order implements Serializable { > @Id > @Column(name = "ORDER_NO", nullable = false, length = 12, updatable > = false) > private String orderNo; > > @Id > @Column(name = "ORDER_CODE", nullable = false, length = 1, updatable > = false) > private String orderCode; > .... > } > > @IdClass(LineItemPk.class) > @Entity > public class LineItem implements java.io.Serializable { > > @ManyToOne(fetch = FetchType.EAGER) > @JoinColumns({ > @JoinColumn(name = "ORDER_NO", referencedColumnName = > "ORDER_NO"), > @JoinColumn(name = "ORDER_CODE", referencedColumnName = > "ORDER_CODE"), > }) > private Order order; > > @Id > @Column(name = "ORDER_NO", length = 12, updatable = false, > insertable=false) > private String orderNo; > > @Id > @Column(name = "LINE_NO", nullable = false) > private Integer lineNo; > > @Id > @Column(name = "ORDER_CODE", nullable = false, length = 1, updatable > = false, insertable=false) > private String orderCode; > ... > } > > > Looking at my log files I can see the INSERT statements for the Order and > all the LineItems being generated and no exceptions occurring. But for the > Order listed below, LineItem 1 is missing in my database. > > [#|2009-09-29T18:42:55.524-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > ORDER_HEADER (ORDER_CODE, ORDER_NO, SOURCE_RECORD_DATE, CUSTOMER_NO, > BILL_TO_ID, SHIP_TO_ID, VERSION, CURRENCY, RELEASE_DATE, MOD_DATE, > DISCOUNT_TYPE, SOLD_TO_ID, OWNER, CREATE_DATE, OPS_CENTER) VALUES > (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) > bind => [O, 1486597, 2009-09-29 18:22:24.463, 10919, 8, 1, 1, USD, > 2009-09-29 18:38:44.87, 2009-09-29 18:42:55.496, COMC, 1, bob, 2009-09-29 > 18:42:55. 496, CONC ]|#] > > [#|2009-09-29T18:42:55.528-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [5, null, SC, 0.0000, Unclassified GL Major, 1, 2009-09-29 > 18:42:55.496, 0.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 99994, 1486597, > O]|#] > > [#|2009-09-29T18:42:55.532-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [4, null, SC, 0.0000, Unclassified GL Major, 1, 2009-09-29 > 18:42:55.496, 0.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 98482, 1486597, > O]|#] > > [#|2009-09-29T18:42:55.536-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [1, 13839-75-1503-42, SW, 6642.5000, ASE with Options, 1, > 2009-09-29 18:42:55.496, 13285.0000, 24.0, 50.0, 2009-09-29 18:42:55.496, > 13839, 1486597, O]|#] > > [#|2009-09-29T18:42:55.540-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [7, 13839-75-1503-42, SW, 22135.0000, ASE with Options, 1, > 2009-09-29 18:42:55.496, 44270.0000, 24.0, 50.0, 2009-09-29 18:42:55.496, > 13839, 1486597, O]|#] > > [#|2009-09-29T18:42:55.544-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [2, 13839-75-1503-42, SW, 5535.0000, ASE with Options, 1, > 2009-09-29 18:42:55.496, 11070.0000, 24.0, 50.0, 2009-09-29 18:42:55.496, > 13839, 1486597, O]|#] > > [#|2009-09-29T18:42:55.548-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [6, null, SC, 0.0000, Unclassified GL Major, 1, 2009-09-29 > 18:42:55.496, 0.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 99996, 1486597, > O]|#] > > [#|2009-09-29T18:42:55.552-0700|FINE|sun-appserver2.1|org.eclipse.persistence.session.file:/cis1/sun/as21/nodeagents/PNAQSR1_3/PASSMS1_1/applications/j2ee- > > apps/evno/evno-ejb_jar/-evno-pu.sql|_ThreadID=57;_ThreadName=org.springframework.scheduling.quartz.SchedulerFactoryBean#0_Worker-10;ClassName=null; > > MethodName=null;_RequestID=9baca19f-6058-4cc5-bf45-a52da684865e;|INSERT INTO > LINE_ITEM (LINE_NO, PART_NO, ITEM_TYPE, UNIT_PRICE, NORMALIZED_PRODUCT_NAME, > VERSION, MOD_DATE, LIST_PRICE, BUY_QTY_DUE, DISCOUNT_PERCENT, > CREATE_DATE, CATALOG_NO, ORDER_NO, ORDER_CODE) VALUES (?, ?, ?, ?, ?, ?, ?, > ?, ?, ?, ?, ?, ?, ?) > bind => [3, null, SU, 205884.0000, Unclassified GL Major, 1, 2009-09-29 > 18:42:55.496, 411768.0000, 1.0, 50.0, 2009-09-29 18:42:55.496, 98483, > 1486597, O]|#] > > > Thanks for taking the time to help... > > Chris Mathrusse > christopher.mathrusse@... > > _______________________________________________ > eclipselink-users mailing list > eclipselink-users@... > https://dev.eclipse.org/mailman/listinfo/eclipselink-users > > _______________________________________________ eclipselink-users mailing list eclipselink-users@... https://dev.eclipse.org/mailman/listinfo/eclipselink-users _______________________________________________ eclipselink-users mailing list eclipselink-users@... https://dev.eclipse.org/mailman/listinfo/eclipselink-users |
|||||||||||
|
|
Re: Missing records even though inserts appear to occurEclipseLink will always log database errors, as long as logging is not turned off, make sure you have logging on. Also the error will be thrown, so make sure your application is not handling, or ignoring the error.
You can set the column size or definition using the @Column annotation in JPA.
James Sutherland EclipseLink, TopLink Wiki: EclipseLink, TopLink Forums: TopLink, EclipseLink Book: Java Persistence |
|||||||||||
|
|
Re: Missing records even though inserts appear to occurWhen you say "make sure you have logging on", is this a configuration option in EclipseLink? If so, what is the default behavior? Chris Mathrusse christopher.mathrusse@...
EclipseLink will always log database errors, as long as logging is not turned off, make sure you have logging on. Also the error will be thrown, so make sure your application is not handling, or ignoring the error. You can set the column size or definition using the @Column annotation in JPA. cmathrusse wrote: > > I think I found the issue. The LineItem table was defined as follows: > > CREATE TABLE LINE_ITEM (LINE_NO INTEGER NOT NULL, PART_NO VARCHAR(25) NULL > , ORDER_CODE VARCHAR(1) NOT NULL, ITEM_TYPE VARCHAR(2) NOT NULL, > UNIT_PRICE NUMERIC(38) NOT NULL, NORMALIZED_PRODUCT_NAME VARCHAR(50) NULL, > VERSION INTEGER NOT NULL, ORDER_NO VARCHAR(12) NOT NULL, MOD_DATE DATETIME > NOT NULL, LIST_PRICE NUMERIC(38) NOT NULL, BUY_QTY_DUE FLOAT(32) NOT NULL, > DISCOUNT_PERCENT FLOAT(32) NOT NULL, CREATE_DATE DATETIME NOT NULL, > CATALOG_NO VARCHAR(30) NULL, PRIMARY KEY (LINE_NO, ORDER_CODE, ORDER_NO)) > GO > > This was the DDL generated by EclipseLink. The problem is with the > UNIT_PRICE column. It is defined s UNIT_PRICE NUMERIC(38) NOT NULL. The > LineItem that was missing had a unit price of 6642.5000, which ASE > complained about when I attempted an insert from DBVisualizer with the > following message: > > Scale error during implicit conversion of NUMERIC value '6642.5000' to a > NUMERIC field. > > If I alter the COLUMN to be NUMERIC(38,2) then the insert succeeds. I'm a > bit surprised by the fact that no exceptions were thrown during the insert > of this line item. Absolutely nothing showed in my log file. > > > ----- http://wiki.eclipse.org/User:James.sutherland.oracle.com James Sutherland http://www.eclipse.org/eclipselink/ EclipseLink , http://www.oracle.com/technology/products/ias/toplink/ TopLink Wiki: http://wiki.eclipse.org/EclipseLink EclipseLink , http://wiki.oracle.com/page/TopLink TopLink Forums: http://forums.oracle.com/forums/forum.jspa?forumID=48 TopLink , http://www.nabble.com/EclipseLink-f26430.html EclipseLink Book: http://en.wikibooks.org/wiki/Java_Persistence Java Persistence -- View this message in context: http://www.nabble.com/Missing-records-even-though-inserts-appear-to-occur-tp25689440p25696927.html Sent from the EclipseLink - Users mailing list archive at Nabble.com. _______________________________________________ eclipselink-users mailing list eclipselink-users@... https://dev.eclipse.org/mailman/listinfo/eclipselink-users _______________________________________________ eclipselink-users mailing list eclipselink-users@... https://dev.eclipse.org/mailman/listinfo/eclipselink-users |
|||||||||||
|
|
Re: Missing records even though inserts appear to occurLogging can be enabled using the persistence.xml property "eclipselink.logging.level"="finest"
The default level is "info" which will log warnings. You also need to check the log (defaults to System.out).
James Sutherland EclipseLink, TopLink Wiki: EclipseLink, TopLink Forums: TopLink, EclipseLink Book: Java Persistence |
| Free embeddable forum powered by Nabble | Forum Help |