java - 错误的休眠列类型:发现:未定义
问题描述
我在服务器(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
。
映射似乎正确。
解决方案
尝试tableCode
通过以下方式更正您的定义:
@Column(name = "table_code", columnDefinition = "VARCHAR2(5 CHAR)")
private String tableCode;
正如本文所建议的那样。
推荐阅读
- javascript - 状态更改时 TextField 失去焦点
- python - 试图让 validate 命令与多个输入一起工作
- html - SGV 渐变在停止处变暗
- sql - 根据值的数量将行转换为逗号分隔值
- javascript - 从 `json` 文件中读取的测试函数
- reactjs - React Native 多重选择器
- javascript - 如何在 addEventListener 中获取并传递单击的元素
- python - 如何让 python 机器人读取 unicode 而不会崩溃?
- python - cs50 pset6 可读性得到错误等级和负索引
- mysql - 像这样在 SQL 查询中查找 SQL 表和列表之间的共同值