Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Missing records even though inserts appear to occur


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@xxxxxxxxxx



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@xxxxxxxxxxx>

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@xxxxxxxxxx> 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@xxxxxxxxxx
>
> _______________________________________________
> eclipselink-users mailing list
> eclipselink-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/eclipselink-users
>
>
_______________________________________________
eclipselink-users mailing list
eclipselink-users@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/eclipselink-users



Back to the top