0

我有一个映射到数据库视图的实体,我想避免 spring 为它创建表,我尝试了 @Immutable 注释但它不起作用,我还希望程序从我的脚本文件中为实体创建视图如果它没有被创建。

@Data
@Entity
@Immutable
public class ViewRequest {
    @Id
    private Long id;
    private Date createDate;
    private String requestType;
    private String customerUser;
    private Long customerUserId;
    private RequestStatusEnum requestStatus;
}

任何帮助表示赞赏。

谢谢

4

1 回答 1

0

@Subselect 注解是 Hibernate 中唯一阻止为 @Entity 创建对应表的注解:

@Data
@Entity
@Immutable
@Subselect("select * from VIEW_REQUEST")
public class ViewRequest {
    @Id
    private Long id;
    private Date createDate;
    private String requestType;
    private String customerUser;
    private Long customerUserId;
    private RequestStatusEnum requestStatus;
}

特别感谢这个答案: 从休眠中创建一个特定的表?

对于视图创建,您应该将脚本添加到资源文件夹中名为 data.sql 的文件中,该文件将在休眠表更新后自动执行。在此处输入图像描述

于 2021-01-10T06:02:33.757 回答