Spring Boot入门(第五章):实体

1、添加文章实体Post

我们在cms.entities包下面新建Post类,并实现序列化接口。

2、添加属性和对应的get,set方法

3、添加实体注解

Entity表示这是一个实体,Table里的name表示生成的表的名称。

4、字段映射

@Id表示这个属性是主键,GenerationType.AUTO主键的生成策略是AUTO,这里我们建议每个实体都是用Long类型的id作为主键,主键理论上不需要有业务意义,让他自动生成就行了,AUTO会根据数据库类型选择相应的生成方式,这样,我们可以兼容不同的数据库。

publishDate是用的驼峰命名方式,在这里我们添加Column注解,手动指定映射的字段名,改成下划线命名的方式。

因为content和summary一般使用富文本存储,存储的内容会比较大,这里我们加上Lob注解,表示这是一个大文本字段。

其他的字段我们使用默认设置,不做处理。

5、自动生成表结构

添加generate_ddl=true,jpa将自动执行ddl建表,更新表的语句。

启动应用,如果正常启动,没有报错,我们可以看到数据库多了两张表:

cms_post就是我们制定的Post实体对应的表,我们来看下表结构:

可以看到大文本采用的是longtext,普通文本是varchar(255)。

hibernate_sequence是jpa用来生成主键序列的方式,类似oracle的自增序列,这里不建议采用这种方式,mysql自带的自增属性就很好用,我们再次修改配置文件:

我们删掉这两个表,重新启动程序,可以看到,现在只有一个表了,而且,主键是采用自增的形式。

6、总结

使用JPA,我们可以很方便的直接用实体自动生成对应的表结构。

代码:

https://github.com/www15119258/springboot-study/tree/branch05

你可能感兴趣的:(Spring Boot入门(第五章):实体)