LINUX.ORG.RU

FYI [glassfish3.1] [ejb__timer__tbl]


0

1

В последнем релизе они опять изменили структуру таблицы + видимо некоторые изменения в eclipselink и/или ejb-containers.jar, при чем я столкнулся с совершенно левой ошибкой вида

Caused by: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.2.0.v20110202-r8913): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: org.postgresql.util.PSQLException: ERROR: relation "EJB__TIMER__TBL" does not exist
  Position: 193
Error Code: 0
Call: SELECT "TIMERID", "APPLICATIONID", "BLOB", "CONTAINERID", "CREATIONTIMERAW", "INITIALEXPIRATIONRAW", "INTERVALDURATION", "LASTEXPIRATIONRAW", "OWNERID", "PKHASHCODE", "SCHEDULE", "STATE" FROM "EJB__TIMER__TBL" WHERE (("OWNERID" = ?) AND ("STATE" = ?))
        bind => [2 parameters bound]
Query: ReadAllQuery(name="findTimersByOwnerAndState" referenceClass=TimerState sql="SELECT "TIMERID", "APPLICATIONID", "BLOB", "CONTAINERID", "CREATIONTIMERAW", "INITIALEXPIRATIONRAW", "INTERVALDURATION", "LASTEXPIRATIONRAW", "OWNERID", "PKHASHCODE", "SCHEDULE", "STATE" FROM "EJB__TIMER__TBL" WHERE (("OWNERID" = ?) AND ("STATE" = ?))")
, хотя таблица, разумеется была. Решается выполнением скрипта из upgrade директории
ALTER TABLE EJB__TIMER__TBL ADD APPLICATIONID NUMBER(19) DEFAULT 0
или соответствующего Вашей БД и прописыванием при создании таблицы в Постгресе uppercase названий таблицы и полей, так как теперь требуется строгое соответствие регистров имен.

П.С. пишу новость про 3.1, теперь с кластеризацией и лоад-балансером.

★★★☆

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.