> -----Original Message----- > From: KARR, DAVID (ATTCINW) > Sent: Thursday, January 21, 2010 1:43 PM > To: [email protected] > Subject: Get nonsensical "column that is not compatible" error after > replacing 1.2.1 with 1.2.2 > > After replacing 1.2.1 with 1.2.2 and turning on the metadata preload, I > got a nonsensical "column that is not compatible" error. I then tried > removing the preload setting, and it's fine. I set it back, and it > failed again, so it's repeatable.
I'm going to see if I can get anywhere tracing this with the debugger. Do you have some suggestions for landmarks I should be looking for? > > The relevant part of the stack trace is this (some pieces obscured): > > Caused by: <openjpa-1.2.2-r422266:898935 fatal user error> > org.apache.openjpa.persistence.ArgumentException: > "...domain.pricelist.PriceListFolder.childItems<element:class > ...domain.pricelist.PriceList>" declares a column that is not > compatible > with the expected type "blob". Column details: > Full Name: PRICE_LIST.PRICE_LIST_ID > Type: varchar > Size: 255 > Default: null > Not Null: false > > The orm.xml excerpts: > > <entity name="PriceListFolder" > class="...domain.pricelist.PriceListFolder"> > <table name="GEN_FOL_PL"/> > <secondary-table name="PLFOL_CHLD"> > <primary-key-join-column name="PLFOL_ID" > referenced-column-name="FOLDER_ID"/> > </secondary-table> > <inheritance strategy="SINGLE_TABLE"/> > <discriminator-value>3001</discriminator-value> > <discriminator-column name="TYPE" discriminator- > type="INTEGER"/> > <attributes> > <one-to-many name="childItems" target-entity="PriceList"> > <join-column name="PRICE_LIST_ID" > referenced-column-name="PRICE_LIST_ID"/> > </one-to-many> > </attributes> > </entity> > > <entity name="PriceList" class="...domain.pricelist.PriceList"> > <table name="PRICE_LIST"/> > <secondary-table name="ONLINE_PRICE_LIST"> > <primary-key-join-column name="PRICE_LIST_ID" > referenced-column-name="PRICE_LIST_ID"/> > </secondary-table> > <attributes> > <id name="id"> > <column name="PRICE_LIST_ID"/> > </id> > <basic name="displayName"> > <column name="DISPLAY_NAME"/> > </basic> > <basic name="description"> > <column name="DESCRIPTION"/> > </basic> > <basic name="startDate"> > <column name="START_DATE"/> > </basic> > <basic name="endDate"> > <column name="END_DATE"/> > </basic> > <one-to-many name="includedFlags" > target-entity="com.att.ecom.dynamiccontent.domain.catalog.Flag"> > <join-table name="ONLINE_PRICE_LIST_FLAGS"> > <join-column name="PRICE_LIST_ID" > referenced-column-name="PRICE_LIST_ID"/> > <inverse-join-column name="FLAG_ID" > referenced-column-name="ID"/> > </join-table> > </one-to-many> > <one-to-one name="basePriceList" target-entity="PriceList"> > <join-column name="BASE_PRICE_LIST" > referenced-column-name="PRICE_LIST_ID"/> > </one-to-one> > </attributes> > </entity> > > Notice that there is no "lob" anywhere. The column it's complaining > about is an ordinary column reference.
