首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Hibernate 註解教程(五):組件映射與屬性覆蓋

     編輯:Java 相關知識

組件映射基礎

組件類使用 @Embeddable 標註,不具備獨立標識,作為實體類的嵌入屬性持久化。

嵌套組件示例

  • 實體類 A 包含組件 B、C
  • 組件 B 內部又包含組件 C
  • B、C 類均標註 @Embeddable

屬性覆蓋 @AttributeOverride

當嵌套組件導致同名字段衝突時,使用 @AttributeOverrides 重命名列:

@AttributeOverrides({
    @AttributeOverride(name="bname", column=@Column(name="cname1"))
})

使 C 組件的 cname 字段在表中額外生成 cname1 列。

生成表結構特點

  • 組件字段扁平化映射到實體表
  • 嵌套組件字段自動合併,同名字段不重複生成
  • 通過覆蓋可解決命名衝突或自定義列名

適用場景

  • 地址、聯繫信息等值對象
  • 複用通用屬性組合
  • 避免創建獨立實體表
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved