“缺少表格”物化视图 [英] "Missing table" on materialized view

查看:123
本文介绍了“缺少表格”物化视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下实体:

  @Entity 
@Table(name =full_address)
public class FullAddress {

@Id
@Column(name =guid)
private String id;

@Column(name =address)
私有字符串地址;

// getters和setters省略
}

另外我创建物化视图如下:

pre $ code CREATE TABLE address_table(
- 地址字段,
aoid VARCHAR(
CONSTRAINT address_pk PRIMARY KEY(aoid)
);
CREATE MATERIALIZED VIEW full_address AS
SELECT buildFullAddressById(addrobj.aoid)AS地址,addrobj.aoid AS guid FROM address_table AS addrobj;

- buildFullAddressById是一个在这里不重要的sql函数

当我启动Tomcat应用程序,我总是得到


org.hibernate.HibernateException:缺少表:full_address
< blockquote>

为什么会发生这种情况?如何解决它?

UPD:在hibernate中看起来像一个bug: https://hibernate.atlassian.net/browse/HHH-9602

解决方案

绝对是一个bug Hibernate和描述在这里: https://hibernate.atlassian.net/browse/HHH-9602



因此,我建议删除 hibernate.hbm2ddl.auto 属性作为解决方法。


I have the following entity:

@Entity
@Table(name = "full_address")
public class FullAddress {

  @Id
  @Column(name = "guid")
  private String id;

  @Column(name = "address")
  private String address;

  //getters and setters omitted
}

Also I create materialized view as follows:

CREATE TABLE address_table (
  -- address fields,
  aoid VARCHAR(36),
  CONSTRAINT address_pk PRIMARY KEY (aoid)
);
CREATE MATERIALIZED VIEW full_address AS
  SELECT buildFullAddressById(addrobj.aoid) AS address, addrobj.aoid AS guid FROM address_table AS addrobj;

-- buildFullAddressById is an sql function which is not important here

When I launch Tomcat application, i always get

org.hibernate.HibernateException: Missing table: full_address

Why is this happening? How to fix it?

UPD: looks like a bug in hibernate: https://hibernate.atlassian.net/browse/HHH-9602

解决方案

It's definitely a bug of Hibernate and was described here: https://hibernate.atlassian.net/browse/HHH-9602

So, I recommend removing hibernate.hbm2ddl.auto property as a workaround.

这篇关于“缺少表格”物化视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆