记录—JPA生成数据库表

Posted xzp-blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录—JPA生成数据库表相关的知识,希望对你有一定的参考价值。

环境

  springBoot+JPA+mysql

application-dev.yml

注意:配置中的blog数据库需要先创建,否则启动springBoot会报错

 1 spring:
 2 #数据库连接配置
 3   datasource:
 4     driver-class-name: com.mysql.jdbc.Driver
 5     url: jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8
 6     username: root
 7     password: 123
 8   jpa:
 9     hibernate:
10       ddl-auto: update
11     show-sql: true

pojo(实体类)、数据库关系结构

多对一、一对多:多的一方作为关系维护方,少的作为关系被维护方

1.Blog

 

@Entity //标记类为数据库实体类
@Table(name = "front_blog") //指定与数据库哪个表对应
public class Blog {
/*
    @Id:指定主键
    @GeneratedValue:
        指定主键生成策略
        不设置参数则按照默认的策略-AUTO,那么在数据库中会多生成一张表用于记录各个表的主键
*/
    @Id 
    @GeneratedValue 
    private Long id;
    private String title;
    private String content;
    private String firstPicture;
    private String flag; //标记:原创、转载、翻译
    private Integer views; //浏览次数
    private boolean appreciation; //赞赏是否开启
    private boolean shareStatement; //版权是否开启
    private boolean recommend; //评论是否开启
    private boolean commentabled; //是否推荐文章
    @Temporal(TemporalType.TIMESTAMP) //Java系统生成时间 转换为 数据库时间类型
    private Date createTime;
    @Temporal(TemporalType.TIMESTAMP)
    private Date updateTime;

    //实体类关系:多个blog对应一个type,多的一方是维护端
    @ManyToOne
    private Type type;

 

2.Type

技术图片

 

 

 多对多,可以指定自己想要的关系维护方和关系被维护方

3.Blog和Tag

技术图片

 

 

 

至此,创建实体类,并且在类中指定关系结构无误之后,启动springBoot项目,程序自动生成数据库结构进入数据库

以上是关于记录—JPA生成数据库表的主要内容,如果未能解决你的问题,请参考以下文章

JPA 使用指南 /Eclipselink/JPA 实体生成器

springboot用jpa生成表,没有外键

Hibernate - JPA 在不同的情况下生成具有相同名称的重复表

Spring Data JPA 原生查询结果实体

从 JPA 注释的实体类自动生成数据模式

JPA的XML生成(JAXB)和数据库视图