网络上一般有两种方法对视图进行映射。
第一种:使用@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了。