Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [eclipselink-users] Discriminator issue

It looks like you are persisting a CpCoverage (the superclass) not a
CpTransCoverage in your app somewhere.  The class name is the default
indicator, which is what it is getting.  You should also set a
DiscriminatorValue on CpCoverage, or make it abstract.


khaskett wrote:
> 
> I have a parent / child relationship where the child is a Entity that has
> a Discriminator annotation.  Currently we are seeing this error show up in
> the logs. The Discriminator is based off the COVERAGE_TYPE field.
> 
> [7/7/09 17:02:12:207 CDT] 00000041 SystemOut     O [EL Fine]: 2009-07-07
> 17:02:12.191--ClientSession(1159218456)--Connection(1268009876)--Thread(Thread[WebContainer
> : 3,5,main])--INSERT INTO CP_COVERAGE (COVERAGE_CODE, BUILDING_NUMBER,
> RATING_ORIGINAL_RATE, PREMIUM_ACTUAL, RATING_MODIFIED_RATE,
> LIABILITY_LIMIT, COVERAGE_TYPE, PREMIUM_MIN, PREMIUM_PREVIOUS_PRO,
> PREMIUM_OVERRIDE, STATE_CODE, SUBCOVERAGE_DESC, FORM_NUMBER, SORT_SEQ,
> LOCATION_NUMBER, COVERAGE_CLASS_CODE, PREMIUM_PREVIOUS, PREMIUM_MEET_MIN,
> RATING_RMF, RATED_COVERAGE_FLAG, PREMIUM_OVERRIDE_RESET, COVERAGE_DESC,
> COV_GROUP, ACTION_CODE, BLANKET_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
> 	bind => [790, 0, 0.0, 4.0, 0.0, null, CpCoverage, 0.0, 0.0, -1.0, null,
> null, null, 790, 0, null, 0.0, 0.0, 0.0, N, N, Terrorism, null, null,
> null]
> [7/7/09 17:02:14:691 CDT] 00000041 SystemOut     O [EL Warning]:
> 2009-07-07
> 17:02:14.519--UnitOfWork(1153582274)--Thread(Thread[WebContainer :
> 3,5,main])--Exception [EclipseLink-4002] (Eclipse Persistence Services -
> 1.1.1.v20090430-r4097):
> org.eclipse.persistence.exceptions.DatabaseException
> Internal Exception: java.sql.DataTruncation: Data truncation
> Error Code: 0
> Call: INSERT INTO CP_COVERAGE (COVERAGE_CODE, BUILDING_NUMBER,
> RATING_ORIGINAL_RATE, PREMIUM_ACTUAL, RATING_MODIFIED_RATE,
> LIABILITY_LIMIT, COVERAGE_TYPE, PREMIUM_MIN, PREMIUM_PREVIOUS_PRO,
> PREMIUM_OVERRIDE, STATE_CODE, SUBCOVERAGE_DESC, FORM_NUMBER, SORT_SEQ,
> LOCATION_NUMBER, COVERAGE_CLASS_CODE, PREMIUM_PREVIOUS, PREMIUM_MEET_MIN,
> RATING_RMF, RATED_COVERAGE_FLAG, PREMIUM_OVERRIDE_RESET, COVERAGE_DESC,
> COV_GROUP, ACTION_CODE, BLANKET_ID) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?,
> ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
> 	bind => [790, 0, 0.0, 4.0, 0.0, null, CpCoverage, 0.0, 0.0, -1.0, null,
> null, null, 790, 0, null, 0.0, 0.0, 0.0, N, N, Terrorism, null, null,
> null]
> Query: InsertObjectQuery(com.gmrc.jpa.domain.CpCoverage@71547154)
> 
> The problem seems to be that it is trying to insert CpCoverage value
> instead of the correct value into that field.  
> 
> We have tried setting the COVERAGE_TYPE field explicitly and leaving it
> blank and get the same result.  I have tried a very simple example of this
> and it seems to work fine.
> 
> CpTransaction cpTrans = new CpTransaction();
> cpTrans.setTransactionStatus(TransactionStatus.IN_PROGRESS);
> cpTrans.setTransactionType(TransactionType.NEW_BUSINESS);
> cpTrans.setParentTransactionId(0L);
> CpTransCoverage cpTerrorism = new CpTransCoverage();
> cpTerrorism.setCoverageCode("999");
> cpTrans.setCpTerrorismCoverage(cpTerrorism);
> 		
> cpTransactionManager.save(cpTrans);
> 
> Setting only the non-nullable fields and then adding the CpTransCoverage.
> 
> @Entity
> @DiscriminatorValue(value = "P")
> public class CpTransCoverage extends CpCoverage {
> ...
> 
> @Entity
> @Table(name = "CP_COVERAGE")
> @Inheritance(strategy = InheritanceType.SINGLE_TABLE)
> @DiscriminatorColumn(name = "COVERAGE_TYPE", discriminatorType =
> DiscriminatorType.STRING, length = 1)
> public class CpCoverage extends BaseDomain implements java.io.Serializable
> {
> 
> ....
> 
> Anything overly obvious I am missing here?
> 
> 
> 


-----
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/Discriminator-issue-tp24382632p24392413.html
Sent from the EclipseLink - Users mailing list archive at Nabble.com.



Back to the top