1点骑、添加文章實體Post
我們在cms.entities包下面新建Post類,并實現(xiàn)序列化接口古拴。
2盅弛、添加屬性和對應的get,set方法
3钱骂、添加實體注解
Entity表示這是一個實體,Table里的name表示生成的表的名稱挪鹏。
4见秽、字段映射
@Id表示這個屬性是主鍵,GenerationType.AUTO主鍵的生成策略是AUTO讨盒,這里我們建議每個實體都是用Long類型的id作為主鍵解取,主鍵理論上不需要有業(yè)務意義,讓他自動生成就行了返顺,AUTO會根據(jù)數(shù)據(jù)庫類型選擇相應的生成方式禀苦,這樣,我們可以兼容不同的數(shù)據(jù)庫遂鹊。
publishDate是用的駝峰命名方式振乏,在這里我們添加Column注解,手動指定映射的字段名秉扑,改成下劃線命名的方式慧邮。
因為content和summary一般使用富文本存儲,存儲的內(nèi)容會比較大,這里我們加上Lob注解误澳,表示這是一個大文本字段耻矮。
其他的字段我們使用默認設置,不做處理忆谓。
5裆装、自動生成表結(jié)構(gòu)
添加generate_ddl=true,jpa將自動執(zhí)行ddl建表倡缠,更新表的語句米母。
啟動應用,如果正常啟動毡琉,沒有報錯,我們可以看到數(shù)據(jù)庫多了兩張表:
cms_post就是我們制定的Post實體對應的表妙色,我們來看下表結(jié)構(gòu):
可以看到大文本采用的是longtext桅滋,普通文本是varchar(255)。
hibernate_sequence是jpa用來生成主鍵序列的方式身辨,類似oracle的自增序列丐谋,這里不建議采用這種方式,mysql自帶的自增屬性就很好用煌珊,我們再次修改配置文件:
我們刪掉這兩個表号俐,重新啟動程序,可以看到定庵,現(xiàn)在只有一個表了吏饿,而且,主鍵是采用自增的形式蔬浙。
6猪落、總結(jié)
使用JPA,我們可以很方便的直接用實體自動生成對應的表結(jié)構(gòu)畴博。
代碼:
https://github.com/www15119258/springboot-study/tree/branch05