1、pom.xml
<!-- jpa -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
2、yml配置信息
spring
jpa:
show-sql: false
hibernate:
ddl-auto: update
spring.jpa.hibernate.ddl-auto 参数用来配置是否开启自动更新数据库表结构,可取create、create-drop、update、validate、none五个值。
create 每次加载hibernate时,先删除已存在的数据库表结构再重新生成;
create-drop 每次加载hibernate时,先删除已存在的数据库表结构再重新生成,并且当 sessionFactory关闭时自动删除生成的数据库表结构;
update 只在第一次加载hibernate时自动生成数据库表结构,以后再次加载hibernate时根据model类自动更新表结构;
validate 每次加载hibernate时,验证数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
none 关闭自动更新
3、实体信息
@Entity
@Table(name = "t_student",catalog = "translation")
@Data
public class Test {
@Id
@GeneratedValue
private Integer id;
@Column(name="name",columnDefinition = "varchar(36) COLLATE utf8_bin NOT NULL COMMENT '姓名")
private String name;
}
注解@Entity用来标记该类是一个JPA实体类,注解@Table的name指定表名,catalog指定库名;注解@Id用来定义记录的唯一标识,并结合注解@GeneratedValue指定主键生成策略,默认自动;@Column注解字段,name表示字段名,根据columnDefinition 内容生成sql对应的建表语句。
4、如果想要一个类继承另一个类的所有属性,则在父类里这样写:
@SuppressWarnings(“serial”)
@Entity
@MappedSuperclass //增加这一行
并把父类的所有属性的private改为protected,但是得保证父类和子类在同一个项目中
5、@Transient //表示此数据不在数据库表里建立属性