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

JPA 2.0 四大新特性詳解(一):物件/關聯映射增強

     編輯:J2EE

支援基本型別集合、嵌入式物件集合與嵌套嵌入

JPA 1.0 僅支援實體集合映射,JPA 2.0 擴展至基本型別(String、Integer)與嵌入式物件集合。引入兩個新註解:

  • @ElementCollection:指定集合元素為基本型別或嵌入式類別
  • @CollectionTable:指定集合表詳細資訊(表名、欄位等)

範例:車輛服務紀錄與選配功能

public enum FeatureType { AC, CRUISE, PWR, BLUETOOTH, TV, ... }

@Embeddable
public class ServiceVisit {
    @Temporal(DATE) @Column(name="SVC_DATE") Date serviceDate;
    String workDesc; int cost;
}

@Entity
public class Vehicle {
    @Id int vin;
    @ElementCollection @CollectionTable(name="VEH_OPTNS") @Column(name="FEAT")
    Set<FeatureType> optionalFeatures;
    @ElementCollection @CollectionTable(name="VEH_SVC") @OrderBy("serviceDate")
    List<ServiceVisit> serviceHistory;
}

第一組註解將枚舉值存入 VEH_OPTNS,第二組將嵌入式物件存入 VEH_SVC。@ElementCollection 另提供 targetClass、fetch(LAZY/EAGER)屬性。

其他映射增強

支援嵌套嵌入、關聯嵌入、有序列表、@Access 彈性存取類型、單向一對多外鍵映射、@MapsId 派生身分、孤兒刪除等,全面強化 O/R 映射能力。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved