package com.springboot.cms.entity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import java.io.Serializable; /** * 文章分類 這裏就使用一級分類 */ @Entity @Table(name = "tb_article_cate") public class ArticleCate implements Serializable{ @Id @Column private String id;//文章id @Column(nullable = false, unique = true) private String name;//分類名稱 非空惟一不重複 private Boolean status = true;//狀態 true 可用 false 不可用 @Column(length = 3) private Integer sort = 0;//排序 //getter setter }
package com.springboot.cms.entity; import javax.persistence.*; import java.io.Serializable; /** * 文章專欄 文章專題 */ @Entity @Table(name = "tb_article_column") public class ArticleColumn implements Serializable { @Id @Column private String id;//文章id @Column(nullable = false, unique = true) private String name;//專欄名稱 非空惟一不重複 private Boolean status = true;//狀態 true 可用 false 不可用 @Column(length = 3) private Integer sort = 0;//排序 }
package com.springboot.cms.entity; import javax.persistence.*; import java.io.Serializable; /** * Created by wangxianhong on 2017/6/30. * 文章表 */ @Entity @Table(name = "tb_article") public class Article implements Serializable{ @Id private String id;//文章id @Column private String columnId;//專欄id @Column private String cateId;//分類id @Column private String title;//文章標題 @Column private String summary;//文章簡介 @Column private Boolean status;//文章狀態 true 可用 false 不可用 @Column private String thumbnail;//文章縮略圖 格式JsonArray ['a.jpg','b.jpg','c,jpg'] @Column private Long createTime;//建立時間 @Lob private String content;//文章正文 }
package com.springboot.cms.entity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import java.io.Serializable; /** * Created by wangxianhong on 2017/7/2. * 視頻類型的文章 */ @Entity @Table(name = "tb_video") public class Video implements Serializable{ @Id private String id;//文章id @Column private String columnId;//專欄id @Column private String cateId;//分類id @Column private String title;//文章標題 @Column private String summary;//文章簡介 @Column private Long createTime;//建立時間 @Column private String videoUrl;//視頻連接 }
package com.springboot.cms.entity; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; import java.io.Serializable; /** * 文章標記路由表 主要記錄文章id 所屬的具體表 */ @Entity @Table(name = "tb_article_role") public class ArticleRole implements Serializable{ @Id @Column private String id;//文章id @Column(length = 2) private Integer flag;//表標記 }
在實體類屬性和表字段名稱約定保持一致,採用駝峯命名法,此時須要在配置文件application.properties文件中配置命名策略:java
spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
再運行SpringBootCmsApplication ,實體類對應的表都會自動生成。spring