關於JPA在SpringBoot專案的使用

2021-10-19 02:04:54 字數 1770 閱讀 4157

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 ...