日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate学习之Hibernate注解总结

發布時間:2023/12/15 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate学习之Hibernate注解总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hibernate學習之Hibernate注解總結http://www.bieryun.com/3269.html

一、類級別的注解

@Entity

name:表的名字(可選)一般表名和類名相同

必須指定主鍵屬性@Id

@Table

name:映射表的名稱(可選)

catalog:目錄(可選)默認為空

schema:模式(可選)默認為空

與@Entity注解配合使用,只能表示在實體類class定義處,表示實體類對應數據庫表的信息

@Embeddable

表示一個非Entity類,不是一個實體類,可以嵌入到實體類中作為一個屬性存在。不映射成表

二、方法級別的注解

@Id

表示映射為主鍵屬性,可以位于主鍵屬性或者其get方法前

如果一個實體類定義多個主鍵屬性,則必須實現serializable接口

如果有string類型的主鍵,長度不能太長,需要用@column注解指定長度

@SequenceGenerator

@GeneratedValue

(可選)用于指定主鍵生成策略

strategy:表示主鍵生成策略,

取值有:

GenerationType.AUTO(默認,根據數據庫底層自動選擇,主鍵是字符串則不能指定為auto)

GenerationType.INDENTITY(根據數據庫identity字段生成)

GenerationType.SEQUENCE(序列。使用squence來決定主鍵的取值)

GenerationType.TABLE(使用指定表來決定主鍵生成策略 與@TableGenerator使用)

generator:生成器

字符串的主鍵手動賦值

@Id

@GeneratedValue(generator="sid")

@GenericGenerator(name="sid",strategy="assigned")

?

@Column

將屬性映射到列

@Embedded

表示該屬性是某個嵌入類對象,嵌入類要標注@Embedable注解

@EmbededId

使用嵌入式主鍵類實現復合主鍵

嵌入式主鍵類必須是愛心serializable接口,必須有默認的public無參構造方法,必須覆蓋equals和hashCode方法

@Lob

@Version

@Basic

@Transient

(可選) 表示該屬性并非一個到數據庫的字段的映射,如果不加這個注解就會映射到數據庫字段并且ORM默認為其添加@Basic

三、關系映射級別的注解

1、一對一單項外鍵關聯

@OneToOne(cascade=CascadeType.ALL)

@JoinColumn(name=””,unique=true)

先保存外鍵對象,再保存主表對象

主表:

關聯表:

2、一對一雙向外鍵關聯

主表:

被控方:

3、一對一雙向外鍵聯合主鍵

4、多對一單向外鍵

@ManyToOne(cascade={cascadeType.ALL},fetch=FetchType.EAGER)

@JoinColumn(name=””,referencedColumn=””)

一方:

多方:

在多方添加一方。

5、一對多單向外鍵

@OneToMany(cascade={cascadeType.ALL},fetch=FetchType.LAZY)

@JoinColumn(name=””)

一方:

多方:

在一方添加多方

6、一對多雙向外鍵

一方:

多方:

7、多對多單向外鍵

其中一個多方:

8、多對多雙向外鍵

其中一個多方:

另一個多方:


總結

以上是生活随笔為你收集整理的Hibernate学习之Hibernate注解总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。