环境配置介绍
专注于为中小企业提供成都网站设计、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业正定免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。jdk 1.8, spring Boot 1.5.3.RELEASE, MySQL, Spring Data, JPA
问题描述
Spring Data提供了一套简单易用的DAO层抽象与封装,覆盖的CURD的基本功能,但是在诸多的情况下,需要用户自定义DAO的实现方法,来实现更为复杂和精细的数据库访问操作,该如何来解决这个问题?
目标描述
这里我们以自定义testAA的方法为例,来介绍如何实现自定义的DAO方法扩展。
数据库表的定义
我们这里定义了一个非常简单的mycity表,来作为示例的实体类BaseEntity:
数据库表定义:
import java.util.Date; import javax.persistence.Column; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.MappedSuperclass; import javax.persistence.Temporal; import javax.persistence.TemporalType; import javax.persistence.Version; @MappedSuperclass public abstract class BaseEntity implements java.io.Serializable { private static final long serialVersionUID = -2420979951576787924L; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) @Column(name = "ID") private Long id; @Version private Long version; @Temporal(TemporalType.TIMESTAMP) @Column(name = "CREATE_TIME",columnDefinition="timestamp default CURRENT_TIMESTAMP") private Date createTime; @Temporal(TemporalType.TIMESTAMP) @Column(name = "UPDATE_TIME",columnDefinition="timestamp default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP") private Date updateTime; }