This was the DDL generated by EclipseLink.
The problem is with the UNIT_PRICE column. It is defined s UNIT_PRICE
NUMERIC(38)
NOTNULL.
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