2015-01-25 1 views
3

Joda DateTime과 함께 JPA - Hibernate 2.1을 사용하고 있습니다. DateTime 변환을 위해 org.jadira.usertype을 사용하여 최대 절전 모드로 작업합니다. 이것은 H2 메모리 내장 DB를 사용한 개발 및 로컬 테스트를 위해 모두 잘 작동합니다. 그러나 Jenkins 서버에서 이상한 SQLExceptions를 사용하면 테스트가 항상 실패합니다.H2 데이터베이스에서 최대 절전 모드로 Joda DateTime 사용 - SQLError

WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 90003, SQLState: 90003 
ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Hexadecimal string with odd number of characters: "2015-01-22 14:15:52.965"; SQL statement: 

그리고 :

WARN o.h.e.jdbc.spi.SqlExceptionHelper - SQL Error: 90004, SQLState: 90004 
ERROR o.h.e.jdbc.spi.SqlExceptionHelper - Hexadecimal string contains non-hex character: "2015-01-22 14:15:52.98"; SQL statement: 

그것이 서버에서 내 노트북에서 작동하지 왜 알아 꽤 어렵다. 유일한 차이점은 서버가 Ubuntu VM에서 실행 중이며 Windows 8.1을 사용하고 있다는 것입니다. 예를 들면 다음과 같은 것을 고려해야합니까? OpenJDK가 문제를 일으킬 수 있습니까? 아니면이 H2 DB에 관한 알려진 문제입니까? 찾을 수 있습니까? 왜 그런 아이디어가 있고 그것을 해결하기 위해 무엇을 할 수 있습니까?

감사합니다. 문제가 발생

필드 :

@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME)//tried to remove this without success 
private DateTime lastSeen; 

의 persistence.xml을 - JPA 속성.

<property name="jpaProperties"> 
     <props> 
      <prop key="hibernate.hbm2ddl.auto">create-drop</prop> 
      <prop key="hibernate.show_sql">true</prop> 
      <prop key="hibernate.dialect">org.hibernate.dialect.H2Dialect</prop> 
      <prop key="hibernate.connection.CharSet">utf-8</prop> 
      <prop key="hibernate.connection.characterEncoding">utf-8</prop> 
      <prop key="hibernate.connection.useUnicode">true</prop> 
      <prop key="hibernate.hbm2ddl.import_files">test-import.sql</prop> 
      <prop key="jadira.usertype.autoRegisterUserTypes">true</prop> 
     </props> 
    </property> 

답변

4

나는 당신이 @Column@Type 주석을 놓친 생각 :

@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime") 
@DateTimeFormat(iso = DateTimeFormat.ISO.DATE_TIME) 
private DateTime lastSeen; 
+0

와우 덕분에 많이! 여하튼 그것은 그것을 고쳤다! @Column은 필수는 아니지만 @Type 주석이 문제였습니다. 나는 JPA 속성 ' true'이 타입 주석을 대체 할 것이라고 생각했습니다. (비록 내가 타입 애노테이션으로 그것을 테스트했다고 생각했지만, 나는 지금 일하고있어 행복하다)! 고마워요! –

+0

답변 StackOverflow 질문은 버그 스포팅 기술을 선명하게합니다. –

관련 문제