JPA视图映射以及防止对视图进行UPDATE

2019-01-20  本文已影响13人  DimonHo

网络上一般有两种方法对视图进行映射。
第一种:使用@Subselect注解实现,没使用过,暂不发表评论
第二种:手动在数据库创建view,在代码中和映射表一样映射视图。
如下:


import lombok.Data;
import lombok.experimental.Accessors;
import org.hibernate.annotations.Immutable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.util.Date;
/**
 * v_literature视图
 */
@Data
@Accessors(chain = true)
@Immutable
@Entity
@Table(name = "v_literature")
public class VLiterature {
    @Id
    private Long id;

    private String author;

    private String year;

    private String summary;

    private Date gmtModified;

    private Date gmtCreate;
}

注意@Immutable注解,当我们查询完视图后如果对视图类进行set操作,可能会自动生成一个update语句对视图进行更新操作而报错。


加上这个注解,表示该entity只读,就不会再自动生成update了。
上一篇下一篇

猜你喜欢

热点阅读