Неправильный тип столбца гибернации: Найдено: не определено - PullRequest
1 голос
/ 05 марта 2020

Я получаю следующее исключение при запуске сервера (websphere). VIEW_LTABLE_FULL_CLEARANCE_DAY - это представление Oracle

Caused by: org.hibernate.HibernateException: Wrong column type in CALMS2CMS_SCHEMA_25.VIEW_LTABLE_FULL_CLEARANCE_DAY for column table_code. Found: undefined, expected: varchar2(255 char)
        at org.hibernate.mapping.Table.validateColumns(Table.java:373)
        at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1305)
        at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:155)
        at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:512)
        at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1797)
        at org.hibernate.ejb.EntityManagerFactoryImpl.<init>(EntityManagerFactoryImpl.java:96)
        at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:914)
        at org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory(Ejb3Configuration.java:899)
        at org.springframework.orm.jpa.vendor.SpringHibernateEjbPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateEjbPersistenceProvider.java:51)
        at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:360)
        at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:384)
        ... 41 more

Определение столбца TABLE_CODE:

TABLE_CODE  NOT NULL VARCHAR2(5 CHAR)

Отображение сущности Hibernate для этого столбца:

@Column(name = "table_code")
private String tableCode;

Просмотреть определение:

CREATE OR REPLACE FORCE VIEW VIEW_LTABLE_FULL_CLEARANCE_DAY (
  TABLE_TYPE,
  TABLE_CODE,
  TABLE_TERRITORY_CODE,
  DESCRIPTION,
  FULL_CLEARANCE_DAYS,
  RECEIPT_REQUIRED
) AS
SELECT
   TYPE AS TABLE_TYPE,
   CODE AS TABLE_CODE,
   TERRITORY_CODE AS TABLE_TERRITORY_CODE,
   DESCRIPTION,
   FULL_CLEARANCE_DAYS,
   RECEIPT_REQUIRED
FROM PAYMENT

Что я не понимаю, так это то, почему ошибка говорит Found: undefined.

Отображение кажется правильным.

Ответы [ 2 ]

0 голосов
/ 06 марта 2020

Хорошо, ошибка исчезает, когда я заново создаю представления. Но я все еще не знаю, почему я продолжал получать начальное сообщение об ошибке.

0 голосов
/ 05 марта 2020

Попробуйте исправить ваше tableCode определение следующим образом:

@Column(name = "table_code", columnDefinition = "VARCHAR2(5 CHAR)")
private String tableCode;

, как предложено в этой статье.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...