Missing records even though inserts appear to occur

View: New views
6 Messages — Rating Filter:   Alert me  

Missing records even though inserts appear to occur

by cmathrusse :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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

Re: Missing records even though inserts appear to occur

by Michael Bar-Sinai :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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

Re: Missing records even though inserts appear to occur

by cmathrusse :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


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.

I would have expected EclipseLink to generate the DDL differently but perhaps I expect too much.


Chris Mathrusse
christopher.mathrusse@...



Re: [eclipselink-users] Missing records even though inserts appear to        occur

Michael Bar-sinai to: EclipseLink User Discussions
09/30/2009 02:39 PM

Sent by: <eclipselink-users-bounces@...>

Please respond to EclipseLink User Discussions







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 occur

by James Sutherland :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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.

Re: Missing records even though inserts appear to occur

by cmathrusse :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


When 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@...



Re: [eclipselink-users] Missing records even though inserts appear        to        occur

James Sutherland to: eclipselink-users
10/01/2009 08:15 AM

Sent by: <eclipselink-users-bounces@...>

Please respond to EclipseLink User Discussions








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 occur

by James Sutherland :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Logging 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).


cmathrusse wrote:
When 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@sybase.com