pom依賴
org.springframework.boot<
/groupid>
spring-boot-starter-data-jpa<
/artifactid>
<
/dependency>
org.springframework.boot<
/groupid>
spring-boot-starter-jdbc<
/artifactid>
<
/dependency>
常用註解
@table
(name=
"資料表名"
)@id
//對主鍵字段對應的屬性註解
@transient
//對無需轉換成資料表字段field的註解
@generatedvalue
(strategy = generationtype.identity)
常用yml配置
spring:
jpa:
hibernate:
ddl-auto:
update,create-drop,none
一對多
@onetomoney
@joincolumn
(name=
"關聯字段屬性名"
)
懶載入& 急載入
@onetomoney
(fetch = fetchtype.eager)
// 急載入區別於懶載入:一次性查詢
雙向一對多
@onetomany
"關聯字段屬性名"
)// 一端&關係被維護端
@manytoone
// 多端&關係被維護端
在雙向一對多中@joincolumn應該註解在關係維護端,但是由於雙向一對多會在表中生成關聯字段;因此不必新增註解@joinclomn();但是以上的做法降低了靈活性【?】,以下做法可以解決關聯欄位寫在實體在類中
@joincolumn
(insertable=
false
,updatable=
false
,name=
"bannerid"
)
單向多對多
@entity
@getter
@setter
public
class
theme
雙向多對多
@entity
@getter
@setter
public
class
spu
如何禁止jpa生成外來鍵
@org
.hibernate.annotations.
foreignkey
(name =
"null"
)
關於HIBERNATE轉JPA的問題
公司目前因為hibernate和公司產品的許可不相容,要把hibernate做了,可以是我們系統光hbm就大幾百個,美國乙個架構師要換ibatis,但是代價實在是大,8個人做一年也估計搞不定,哎.我自己看了一下jpa openjpa 發現和hibernate太像了,打自己乙個自己做做看有多快了,寫了...
列舉型別在JPA中的使用
首先介紹一篇很好的文章 persisting enums in jpa public enum status 優點 優點 我們可以通過如下方法定義列舉的屬性值 public enum gender 缺點 優點 可以通過在列舉屬性上新增 jsonvalue註解作為序列化的值 不推薦,會使jpql失效,...
關於Spring boot中JPA的基本框架構造
最近在學習spring boot中jpa的配置,對於其一些基本框架構造有了個大概的認識 首先整個構造分為四個大部分 分為controller層,dao層,entity層以及service層。實體類寫在entity層中。server port 8887 資料庫配置 spring datasource ...