小编ast*_*eny的帖子

在postgresql 9.3中验证映射到MATERIALIZED VIEW时的HibernateException

如何将对象映射到物化视图并保持<prop key="hibernate.hbm2ddl.auto">validate</prop>

启动webapp时,我在启动时遇到此异常:

Caused by: org.hibernate.HibernateException: Missing table: subjects_lp at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1302) 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) ...

根据消息来源,看起来hibernate只询问DatabaseMetadata#getTableMetadata中的类型"VIEW"和"TABLE",而postgresql将其存储为"MATERIALIZED VIEW"(使用普通的jdbc检查).

令人惊讶的是,我无法在谷歌中找到有关此错误的一些信息.有没有办法在启动时保持hibernate验证,也许有办法保持一个表/实体未经验证?

Hibernate版本:4.2.12.Final
Postgresql驱动程序:9.3-1101-jdbc41

实体仅具有任何特定注释

@javax.persistence.Entity @javax.persistence.Table(name = "table_name", schema = "schema")

java postgresql hibernate jpa materialized-views

5
推荐指数
1
解决办法
861
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1

materialized-views ×1

postgresql ×1