2016-07-25 18 views
0

Ich möchte Daten mit JPA und Eclipse ORM von Spring Batch-Tabellen lesen, die scheinen nicht Eclipse Konventionenlesen Daten aus Spring Batch-Tabellen mit JPA und Eclipse

Ich erhalte Ausnahmen wie folgt zu folgen:

Runtime Exceptions: 
--------------------------------------------------------- 

java.lang.IllegalArgumentException: Column name BATCH_JOB_EXECUTION.CREATE_TIME does not follow DateTime type convention. Use suffix [_TS] due to conventions. 

java.lang.NullPointerException 

    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:715) ~[org.eclipse.persistence.core-2.6.2.jar:na] 
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:651) ~[org.eclipse.persistence.core-2.6.2.jar:na] 
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.initializeDescriptors(DatabaseSessionImpl.java:582) ~[org.eclipse.persistence.core-2.6.2.jar:na] 
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.postConnectDatasource(DatabaseSessionImpl.java:818) ~[org.eclipse.persistence.core-2.6.2.jar:na] 
    at org.eclipse.persistence.internal.sessions.DatabaseSessionImpl.loginAndDetectDatasource(DatabaseSessionImpl.java:762) ~[org.eclipse.persistence.core-2.6.2.jar:na] 
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.login(EntityManagerFactoryProvider.java:265) ~[org.eclipse.persistence.jpa-2.6.2.jar:na] 
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:731) ~[org.eclipse.persistence.jpa-2.6.2.jar:na] 
    ... 124 common frames omitted 

Datum Zeitfelder sind problematisch, da sie als Suffix enthalten TS nicht:

@Column(name = "CREATE_TIME") 
private DateTime createTime; 

gibt es eine Abhilfe oder die Art und Weise, wie ein solches Verhalten deaktivieren?

+0

Ich bin nicht sicher, wo Ihre Ausnahme herkommt, aber es ist keine EclipseLink-Einschränkung. Können Sie den Feldnamen nicht einfach in CREATE_TIME_TS mit der Spalte (name = "CREATE_TIME_TS") ändern, wenn es sich um die Datenbankeinschränkung handelt? – Chris

+0

Ich habe die Frage aktualisiert, StackTrace hinzugefügt, wo Sie sehen können, kommt es von org.eclipse.persistence.internal. * Mein Problem ist, ich kann nicht ändern Db-Schema als Frühling Batch interne Tabellen müssen so bleiben wie sie sind. –

+0

Verwenden Sie org.joda.time.DateTime? Versuchen Sie mit java.util.Date – Dmitry

Antwort

0

benutzen ich java.util.Date statt org.joda.time.DateTime um das Problem zu lösen, wie

von Dmitry in den Kommentaren unter der Frage vorgeschlagen