Spring 启动为实体创建数据库视图

Spring boot create database view for entity

我有一个映射到数据库视图的实体,我想避免 spring 为它创建 table,我试过 @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;
}

感谢任何帮助。

谢谢

@Subselect 注释是 Hibernate 中唯一阻止为 @Entity 创建相应 table 的注释:

@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 的文件中,该文件将在 table 休眠更新后自动执行。