我需要将 (PostgreSQL) 的物化视图与 Hibernate 中的
如果将
谢谢您的帮助。
@Entity
进行映射。如果配置了hbm2ddl
的update
值,则Hibernate总是尝试创建新的SQL表,而只有当视图是物化视图时才会发生这种情况,否则(对于非物化视图)它可以正常工作。
映射实体
@Entity
@Immutable
@Cache (usage=CacheConcurrencyStrategy.READ_ONLY)
@Table(name = "quasar_evaludated_function")
public class EvaluatedAuditor {
private long id;
private boolean qsAuditor;
// getter setters ...
}
SQL实体视图
CREATE materialized VIEW quasar_evaludated_function
AS SELECT a.id AS id,
(SELECT Count(code)
FROM quasar_qs_auditor_code code
WHERE code.auditor_id = a.id
AND code.is_granted = TRUE) > 0 AS is_qs_auditor
FROM quasar_auditor a;
日志
ERROR 2015-01-14 21:16:17 SchemaUpdate:execute(line 261) - HHH000388: Unsuccessful: create table quasar_evaludated_function (id int8 not null, is_clinical_expert boolean, is_product_assessor_a boolean, is_product_assessor_r boolean, is_product_specialist boolean, is_qs_auditor boolean, is_responsible_clinician boolean, is_technical_expert boolean, primary key (id))
ERROR 2015-01-14 21:16:17 SchemaUpdate:execute(line 262) - ERROR: relation "quasar_evaludated_function" already exists
如果将
hbm2ddl
选项配置为validate
,则会抛出异常。谢谢您的帮助。