Hi everyone,
I'm trying to use an @AssociationOverride on a manyToOne relation of an
Emedded Type to rename the Column in the actual Entity:
@Entity
Public class ProcessActivityResult
{
.
@Embedded
@AssociationOverride(name="selectionListItem",
joinColumns=_at_JoinColumn(name="ACTUAL_SELECTIONLISTITEMID"))
private DynamicAttributeVal valueActual;
}
@Embeddable
public class DynamicAttributeVal
{
.
@ManyToOne
@JoinColumn( name="SELECTIONLISTITEMID" )
private SelectionListItem selectionListItem;
}
This leads to the following exception:
javax.persistence.PersistenceException: Exception [TOPLINK-28018] (Oracle
TopLink Essentials - 2.0.1 (Build b03-fcs (10/03/2007))):
oracle.toplink.essentials.exceptions.EntityManagerSetupException
Exception Description: predeploy for PersistenceUnit [toplink] failed.
Internal Exception: java.lang.NullPointerException
at
oracle.toplink.essentials.internal.ejb.cmp3.EntityManagerSetupImpl.predeploy
(EntityManagerSetupImpl.java:643)
at
oracle.toplink.essentials.ejb.cmp3.EntityManagerFactoryProvider.createContai
nerEntityManagerFactory(EntityManagerFactoryProvider.java:244)
at
com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoad
erImpl.java:149)
at
com.sun.enterprise.server.PersistenceUnitLoaderImpl.load(PersistenceUnitLoad
erImpl.java:84)
at
com.sun.enterprise.server.AbstractLoader.loadPersistenceUnits(AbstractLoader
.java:898)
at
com.sun.enterprise.server.ApplicationLoader.doLoad(ApplicationLoader.java:18
4)
at
com.sun.enterprise.server.TomcatApplicationLoader.doLoad(TomcatApplicationLo
ader.java:126)
at
com.sun.enterprise.server.AbstractLoader.load(AbstractLoader.java:244)
at
com.sun.enterprise.server.ApplicationManager.applicationDeployed(Application
Manager.java:336)
at
com.sun.enterprise.server.ApplicationManager.applicationDeployed(Application
Manager.java:230)
at
com.sun.enterprise.server.ApplicationManager.applicationDeployed(Application
Manager.java:203)
at
com.sun.enterprise.server.ApplicationManager.applicationEnabled(ApplicationM
anager.java:763)
at
com.sun.enterprise.admin.event.AdminEventMulticaster.invokeApplicationDeploy
EventListener(AdminEventMulticaster.java:934)
at
com.sun.enterprise.admin.event.AdminEventMulticaster.handleApplicationDeploy
Event(AdminEventMulticaster.java:912)
at
com.sun.enterprise.admin.event.AdminEventMulticaster.processEvent(AdminEvent
Multicaster.java:461)
at
com.sun.enterprise.admin.event.AdminEventMulticaster.multicastEvent(AdminEve
ntMulticaster.java:176)
at
com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.sendEnableConfigChan
geEventExplicitly(ApplicationsConfigMBean.java:1834)
at
com.sun.enterprise.admin.mbeans.ApplicationsConfigMBean.enable(ApplicationsC
onfigMBean.java:1902)
The second try using the AssociationOverride on the Entity like this:
@Entity
@AssociationOverride(name=" valueActual.selectionListItem",
joinColumns=_at_JoinColumn(name="ACTUAL_SELECTIONLISTITEMID"))
Public class ProcessActivityResult
{
.
@Embedded
private DynamicAttributeVal valueActual;
}
Doesn't effect the renaming. In this case toplink looks up for a column
named ,SELECTIONLISTITEMID' instead of ,ACTUAL_SELECTIONLISTITEMID'.
Can anybody help, this is very urgent!
Christian Kerwer