I am trying to migrate from WL 11 using eclipseLink to JBoss AS7 w/Hibernate 4 and get the following error during deploy time. Can someone help with this as it does not make sense to me? I have search ad found similar issues, but it should be working as it should.
org.jboss.msc.service.StartException in service jboss.persistenceunit."core.ear/core-ejb-1.0-SNAPSHOT.jar#Oracle": Failed to start service at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1780) [jboss-msc-1.0.1.GA.jar:1.0.1.GA] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) [:1.6.0_01] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) [:1.6.0_01] at java.lang.Thread.run(Thread.java:619) [:1.6.0_01] Caused by: javax.persistence.PersistenceException: [PersistenceUnit: Oracle] Unable to build EntityManagerFactory at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:908) at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:884) at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73) at org.jboss.as.jpa.service.PersistenceUnitService.createContainerEntityManagerFactory(PersistenceUnitService.java:143) at org.jboss.as.jpa.service.PersistenceUnitService.start(PersistenceUnitService.java:77) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1824) [jboss-msc-1.0.1.GA.jar:1.0.1.GA] at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1759) [jboss-msc-1.0.1.GA.jar:1.0.1.GA] ... 3 more Caused by: org.hibernate.AnnotationException: referencedColumnNames(TRIGGER_NAME) of com.steleus.nsp.business.scheduler.ejb.entity.NSPSimpleTriggers.nspSimpleTriggers referencing com.steleus.nsp.business.scheduler.ejb.entity.NSPTriggers not mapped to a single property at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:204) at org.hibernate.cfg.annotations.CollectionBinder.bindCollectionSecondPass(CollectionBinder.java:1423) .....
Here are the two entity beans:
--- NSPTriggers.java ---- @Entity(name = "NSPTriggers") @Table(name = "COR_QRTZ_TRIGGERS") @IdClass(NSPTriggersPK.class) @NamedQueries({@NamedQuery(name = NSPTriggers.findAllTriggers,query = "SELECT OBJECT(o) FROM NSPTriggers AS o") , @NamedQuery(name = NSPTriggers.findByTriggerGroup,query = "SELECT OBJECT(o) FROM NSPTriggers AS o WHERE o.triggerGroup =?1") , @NamedQuery(name = NSPTriggers.findByState,query = "SELECT OBJECT(o) FROM NSPTriggers AS o WHERE o.triggerState =?1") , @NamedQuery(name = NSPTriggers.findByStateAndGroup,query = "SELECT OBJECT(o) FROM NSPTriggers AS o WHERE ((o.triggerState =?1) and (o.triggerGroup =?2))") , @NamedQuery(name = NSPTriggers.findByStates,query = "SELECT OBJECT(o) FROM NSPTriggers AS o WHERE ((o.triggerState =?1) or (o.triggerState =?2))") , @NamedQuery(name = NSPTriggers.findByCalendarName,query = "SELECT OBJECT(o) FROM NSPTriggers AS o WHERE o.calenderName =?1") }) public class NSPTriggers implements Serializable { public static final long serialVersionUID = 1143780258620952020L;
//****************************************************** // Named Queries //****************************************************** public static final String findAllTriggers = "com.steleus.nsp.business.scheduler.ejb.NSPTriggers.findAllTriggers"; public static final String findByTriggerGroup = "com.steleus.nsp.business.scheduler.ejb.NSPTriggers.findByTriggerGroup"; public static final String findByState = "com.steleus.nsp.business.scheduler.ejb.NSPTriggers.findByState"; public static final String findByStateAndGroup = "com.steleus.nsp.business.scheduler.ejb.NSPTriggers.findByStateAndGroup"; public static final String findByStates = "com.steleus.nsp.business.scheduler.ejb.NSPTriggers.findByStates"; public static final String findByCalendarName = "com.steleus.nsp.business.scheduler.ejb.NSPTriggers.findByCalendarName";
//****************************************************** // Entity Fields //****************************************************** @Id @Column(name = "TRIGGER_NAME") private String triggerName; @Id @Column(name = "TRIGGER_GROUP") private String triggerGroup; @Column(name = "JOB_NAME") private String jobName; @Column(name = "JOB_GROUP") private String jobGroup; @Column(name = "IS_VOLATILE") private char isVolatile; @Column(name = "DESCRIPTION") private String description; @Column(name = "NEXT_FIRE_TIME") private double nextFireTime; @Column(name = "PREV_FIRE_TIME") private double prevFireTime; @Column(name = "TRIGGER_TYPE") private String triggerType; @Column(name = "START_TIME") private double startTime; @Column(name = "END_TIME") private double endTime; @Column(name = "CALENDAR_NAME") private String calenderName; @Column(name = "MISFIRE_INSTR") private double misfireInstr; @Column(name = "TRIGGER_STATE") private String triggerState;
//****************************************************** // Relationship Fields //****************************************************** //WEBLOGIC: @OneToMany(mappedBy="nspTriggers") @OneToMany @JoinColumn(name = "TRIGGER_NAME", referencedColumnName = "TRIGGER_NAME") private List<NSPSimpleTriggers> nspSimpleTriggers = new ArrayList<NSPSimpleTriggers>(); //WEBLOGIC: @OneToMany(mappedBy="nspTriggers") @OneToMany @JoinColumn(name = "TRIGGER_NAME", referencedColumnName = "TRIGGER_NAME") private List<NSPCronTriggers> nspCronTriggers = new ArrayList<NSPCronTriggers>(); @OneToMany(mappedBy="nspTriggers") private List<NSPBlobTriggers> nspBlobTriggers = new ArrayList<NSPBlobTriggers>();
@OneToMany(mappedBy="nspTriggers") private List<NSPTriggersListeners> nspTriggersListeners = new ArrayList<NSPTriggersListeners>();
@ManyToOne @JoinColumns({ @JoinColumn(name="JOB_GROUP", referencedColumnName="JOB_GROUP", nullable=false,insertable=false,updatable=false), @JoinColumn(name="JOB_NAME", referencedColumnName="JOB_NAME", nullable=false,insertable=false,updatable=false) }) private NSPJobDetails nspJobDetails;
--- NSPSimpleTriggers.java --- @Entity(name = "NSPSimpleTriggers") @Table(name = "COR_QRTZ_SIMPLE_TRIGGERS") @IdClass(NSPSimpleTriggersPK.class) @NamedQueries({@NamedQuery(name = NSPSimpleTriggers.findAllSimpleTriggers,query = "SELECT OBJECT(o) FROM NSPSimpleTriggers AS o") }) public class NSPSimpleTriggers implements Serializable { public static final long serialVersionUID = -5747711178660672632L;
//****************************************************** // Named Queries //****************************************************** public static final String findAllSimpleTriggers = "com.steleus.nsp.business.scheduler.ejb.NSPSimpleTriggers.findAllSimpleTriggers";
//****************************************************** // Entity Fields //****************************************************** @Id @Column(name = "TRIGGER_NAME") private String triggerName; @Id @Column(name = "TRIGGER_GROUP") private String triggerGroup; @Column(name = "REPEAT_COUNT") private long repeatCount; @Column(name = "REPEAT_INTERVAL") private double repeatInterval; @Column(name = "TIMES_TRIGGERED") private double timesTriggered;
//****************************************************** // Relationship Fields //****************************************************** //bi-directional many-to-one association to CorQrtzTrigger @ManyToOne @JoinColumns({ @JoinColumn(name="TRIGGER_GROUP", referencedColumnName="TRIGGER_GROUP",insertable=false,updatable=false), @JoinColumn(name="TRIGGER_NAME", referencedColumnName="TRIGGER_NAME",insertable=false,updatable=false) }) private NSPTriggers nspTriggers;
|