2016-04-08 9 views
0

ich diese RUNTIME Ausnahme Problem habe (unter Verwendung einer auf Basis objektrelationale Persistenz-Lösung in einer relationalen Datenbanken und Java-Containern.)zeitlicher Typ IN javax.persistence (A zeitlichen Typ angegeben werden muss)

Exception [EclipseLink-7212] (Eclipse Persistence Services - 2.4.2.v20130514-5956486): org.eclipse.persistence.exceptions.ValidationException 
Exception Description: The attribute [submissionTime] from the entity class [class com.tdk.domain.Service] does not specify a temporal type. A temporal type must be specified for persistent fields or properties of type java.util.Date and java.util.Calendar. 

Aber, um Himmels Willen, der Typ ist schon java.util.Date !!!!

@Temporal(TemporalType.TIMESTAMP) 
    @Column(name = "SUBMISSION_TIME") 
    public Date getSubmissionTime() { 
     return this.submissionTime; 
    } 

Hier wird der vollständige stacktrace

Exception Description: The attribute [submissionTime] from the entity class [class com.tdk.domain.Service] does not specify a temporal type. A temporal type must be specified for persistent fields or properties of type java.util.Date and java.util.Calendar. 
     at org.eclipse.persistence.exceptions.ValidationException.noTemporalTypeSpecified(ValidationException.java:1443) 
     at org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.processTemporal(MappingAccessor.java:1829) 
     at org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.processJPAConverters(MappingAccessor.java:1584) 
     at org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.processMappingConverter(MappingAccessor.java:1652) 
     at org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.MappingAccessor.processMappingValueConverter(MappingAccessor.java:1670) 
     at org.eclipse.persistence.internal.jpa.metadata.accessors.mappings.BasicAccessor.process(BasicAccessor.java:414) 
     at org.eclipse.persistence.internal.jpa.metadata.MetadataDescriptor.processMappingAccessors(MetadataDescriptor.java:1461) 
     at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.ClassAccessor.processMappingAccessors(ClassAccessor.java:1526) 
     at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.processMappingAccessors(EntityAccessor.java:1085) 
     at org.eclipse.persistence.internal.jpa.metadata.accessors.classes.EntityAccessor.process(EntityAccessor.java:645) 
     at org.eclipse.persistence.internal.jpa.metadata.MetadataProject.processStage2(MetadataProject.java:1718) 
     at org.eclipse.persistence.internal.jpa.metadata.MetadataProcessor.processORMMetadata(MetadataProcessor.java:536) 
     at org.eclipse.persistence.internal.jpa.deployment.PersistenceUnitProcessor.processORMetadata(PersistenceUnitProcessor.java:550) 
     at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.predeploy(EntityManagerSetupImpl.java:1484) 
     at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:235) 
     at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:452) 
     at weblogic.persistence.BasePersistenceUnitInfo.initializeEntityManagerFactory(BasePersistenceUnitInfo.java:445) 
     at weblogic.persistence.BasePersistenceUnitInfo.init(BasePersistenceUnitInfo.java:119) 
     at weblogic.persistence.BaseJPAIntegrationProvider.createPersistenceUnitInfo(BaseJPAIntegrationProvider.java:53) 
     at weblogic.persistence.AbstractPersistenceUnitRegistry.storeDescriptors(AbstractPersistenceUnitRegistry.java:420) 
     at weblogic.persistence.AbstractPersistenceUnitRegistry.loadPersistenceDescriptors(AbstractPersistenceUnitRegistry.java:127) 
     at weblogic.persistence.ModulePersistenceUnitRegistry.<init>(ModulePersistenceUnitRegistry.java:61) 
     at weblogic.servlet.internal.WebAppInternalModuleExtension$PersistenceExtension.setupPersistenceUnitRegistry(WebAppInternalModuleExtension.java:267) 
     at weblogic.servlet.internal.WebAppInternalModuleExtension$PersistenceExtension.access$400(WebAppInternalModuleExtension.java:188) 
     at weblogic.servlet.internal.WebAppInternalModuleExtension.prePrepare(WebAppInternalModuleExtension.java:58) 
     at weblogic.application.internal.ExtensibleModuleWrapper$PrepareStateChange.next(ExtensibleModuleWrapper.java:293) 
     at weblogic.application.internal.ExtensibleModuleWrapper$PrepareStateChange.next(ExtensibleModuleWrapper.java:285) 
     at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) 
     at weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:109) 
     at weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100) 
     at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:172) 
     at weblogic.application.internal.flow.ModuleStateDriver$1.next(ModuleStateDriver.java:167) 
     at weblogic.application.utils.StateMachineDriver$ParallelChange.run(StateMachineDriver.java:80) 
     at weblogic.work.ContextWrap.run(ContextWrap.java:40) 
     at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550) 
     at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295) 
     at weblogic.work.ExecuteThread.run(ExecuteThread.java:254) 
+1

Wie ist das ein "Kompilierungsproblem"? Es ist eine Ausnahme AT RUNTIME. –

+1

Werden die Spalten- und Temporalanmerkungen aufgenommen? Schalten Sie die Protokollierung auf "Feinste" oder "Alle" und prüfen Sie, was EclipseLink während seiner Bereitstellungsphase abholt. Wenn Sie Anmerkungen zu Feldern und Eigenschaften haben, wird nur ein Satz ausgewählt. Überprüfen Sie außerdem, ob Ihre Version der Klasse mit der Annotation zur Laufzeit ausgewählt wird. Es ist nicht das erste Mal, dass mehrere Klassenversionen seltsame Laufzeitprobleme verursachen. – Chris

+0

Importieren Sie java.sql.Date? –

Antwort

0

@ Chris Kommentar war richtig entfernen sollten (Ist die Spalte und zeitliche Anmerkungen aufgenommen zu werden? Wenden Sie sich an die Anmeldung feinste oder Alle und überprüfen Sie, was EclipseLink während seiner Bereitstellungsphase abholt.Wenn Sie Anmerkungen zu Feldern und Eigenschaften haben, wird nur ein Satz abgeholt.Achten Sie außerdem darauf, dass Ihre Version der Klasse mit der Anmerkung diejenige ist, die Sie abholen Laufzeit - es wird nicht das erste Tim sein Mehrere Versionen von Klassen haben seltsame Laufzeitprobleme verursacht.

0

Ich denke, dass Sie Länge = 11