2017-12-08 8 views
0

java, apache-cayenne 및 postgreSQL을 사용합니다.heroku의 PSQLException

: 여기
INFO org.apache.cayenne.log.JdbcEventLogger - --- transaction started. 
WARN org.apache.cayenne.access.types.SerializableTypeFactory - Haven't found suitable ExtendedType for class 'java.time.LocalDate'. Most likely you need to define a custom ExtendedType. 
WARN org.apache.cayenne.access.types.SerializableTypeFactory - SerializableType will be used for type conversion. 
INFO org.apache.cayenne.log.JdbcEventLogger - --- transaction started. 
INFO org.apache.cayenne.log.JdbcEventLogger - SELECT t0.DATE, t0.ROOM, t0.TIME, t0.TYPE, t0.PROFESSOR_ID, t0.SUBJECT_ID, t0.LESSON_ID FROM Lesson t0 JOIN Subject t1 ON (t0.SUBJECT_ID = t1.SUBJECT_ID) WHERE (t0.DATE = ?) AND (t1.USER_ID = ?) [bind: 1->DATE:2017-12-08, 2->USER_ID:81627965] 

내 XML입니다 :

내 애플 바탕 화면에 잘 작동하지만 내가 Heroku가 그것을 실행할 때 오류가 발생합니다 :

org.postgresql.util.PSQLException: Bad value for type timestamp/date/time: 
{1} 

이 또한 경고하다

<db-entity name="Lesson"> 
    <db-attribute name="DATE" type="DATE"/> 
    <db-attribute name="LESSON_ID" type="INTEGER" isPrimaryKey="true" isMandatory="true"/> 
    <db-attribute name="PROFESSOR_ID" type="INTEGER"/> 
    <db-attribute name="ROOM" type="VARCHAR" length="50"/> 
    <db-attribute name="SUBJECT_ID" type="INTEGER"/> 
    <db-attribute name="TIME" type="TIME"/> 
    <db-attribute name="TYPE" type="INTEGER"/> 
</db-entity> 
<obj-entity name="Lesson" className="com.intetics.organizerbot.entities.Lesson" dbEntityName="Lesson"> 
    <obj-attribute name="date" type="java.time.LocalDate" db-attribute-path="DATE"/> 
    <obj-attribute name="room" type="java.lang.String" db-attribute-path="ROOM"/> 
    <obj-attribute name="time" type="java.time.LocalTime" db-attribute-path="TIME"/> 
    <obj-attribute name="type" type="int" db-attribute-path="TYPE"/> 
</obj-entity> 

데스크탑 및 Heroku에서 동일한 Heroku Postgres 데이터베이스로 작업합니다.

LocalDate 클래스와 연결된 문제가있는 것 같습니다. 그러나 나는 왜 모든 것이 내 컴퓨터에서 잘 작동하는지 모르지만 영웅에 문제가있는 것은 아닙니다.

잘 작동 한 jar를 배치하려고 시도했지만 여전히 작동하지 않습니다.

왜 이런 일이 발생하고 어떻게 해결할 수 있는지 알고 계십니까?

질문과 질문 생산 서버 Bad value for type timestamp on production server 에 대해 물어 보지만 나는 그것이 헤로 쿠에 대한 답변을 적용 할 수없는 것 같습니다. 당신이 있는지 확인해야 카이엔에서 자바 8 개 java.time.* 클래스를 사용하기 위해

+0

나는 드라이버 버전 문제이기도하다. – Kayaman

+0

apache-cayenne에 사용하는 종속성과 버전은 무엇입니까? –

+0

나는 cayenne-server와 cayenne-java8을 사용합니다. 두 버전 모두 4.0.M5 –

답변

0

이 프로젝트에 카이엔 - java8 모듈을 포함, 자세한 내용은이 docs를 참조하십시오. 그것없이 카이엔은 그 수업을 어떻게 다룰 지 모릅니다.