亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 >
Hibernate 3注釋簡介
作者:網絡轉載 發布時間:[ 2013/2/18 14:18:37 ] 推薦標簽:

@Entity
@Table(name="T_MODEL_PLANE")
public class ModelPlane {
private Long id;
private String name;
@Id
@Column(name="PLANE_ID")
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
@Column(name="PLANE_NAME")
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
  該內容將映射到下表中:

CREATE TABLE T_MODEL_PLANE
(
PLANE_ID long,
PLANE_NAME varchar
)
  也可以使用其他圖和列的屬性來定制映射。這使您可以指定諸如列長度、非空約束等詳細內容。Hibernate支持大量針對這些注釋的屬性。下例中包含了幾種屬性:

    ...
@Column(name="PLANE_ID", length=80, nullable=true)
public String getName() {
return name;
}
...
映射關系
  Java 持久性映射過程中重要和復雜的一環是確定如何映射表間的關系。像其他產品一樣, Hibernate 在該領域中提供了高度的靈活性,但卻是以復雜度的增加為代價。我們將通過研究幾個常見案例來了解如何使用注釋來處理這一問題。

  其中一種常用的關系是多對一的關系。假定在以上示例中每個 ModelPlane 通過多對一的關系(也是說,每個飛機模型只與一種飛機類型建立聯系,盡管指定的飛機類型可以與七種飛機模型建立聯系)來與 PlaneType 建立聯系?扇缦逻M行映射:

    @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
public PlaneType getPlaneType() {
return planeType;
}
  CascadeType 值表明 Hibernate 應如何處理級聯操作。

  另一種常用的關系與上述關系相反:一對多再對一關系,也稱為集合。在老式的 Hibernate 版本中進行映射或使用注釋時,集合令人頭疼,這里我們將簡要加以探討,以使您了解如何處理集合,例如,在以上示例中每個 PlaneType 對象都可能會包含一個 ModelPlanes 集合?捎成淙缦拢

@OneToMany(mappedBy="planeType",
cascade=CascadeType.ALL,
fetch=FetchType.EAGER)
@OrderBy("name")
public List<ModelPlane> getModelPlanes() {
return modelPlanes;
}
命名查詢
  Hibernate 的功能之一在于它能夠在您的映射文件中聲明命名查詢。隨后即可通過代碼中的名稱調用此類查詢,這使您可以專注于查詢,而避免了 SQL 或者 HQL 代碼分散于整個應用程序中的情況。

  也可以使用注釋來實現命名查詢,可以使用 @NamedQueries 和 @NamedQuery 注釋,如下所示:

@NamedQueries(
{
@NamedQuery(
name="planeType.findById",
query="select p from PlaneType p left join fetch p.modelPlanes where id=:id"
),
@NamedQuery(
name="planeType.findAll",
query="select p from PlaneType p"
),
@NamedQuery(
name="planeType.delete",
query="delete from PlaneType where id=:id"
)
}
)
  一旦完成了定義,您可以像調用其他任何其他命名查詢一樣來調用它們。

結束語
  Hibernate 3 注釋提供了強大而精致的 API,簡化了 Java 數據庫中的持久性代碼,本文中只進行了簡單的討論。您可以選擇遵從標準并使用 Java 持久性 API,也可以利用特定于 Hibernate的擴展,這些功能以損失可移植性為代價提供了更為強大的功能和更高的靈活性。無論如何,通過消除對 XML 映射文件的需求,Hibernate 注釋將簡化應用程序的維護,同時也可以使您對EJB 3 有初步認識。來試試吧!

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 一级 黄 色 片免费 一级 黄 色 毛片 | 日本中文字幕网 | 欧美日韩三级在线 | 狍和美女一级aa毛片 | 高h猛烈做哭bl壮汉受欧美 | 性xxxx中国 | 国产v在线在线观看羞羞答答 | 美国人成毛片在线播放 | 亚洲专区路线一路线二 | 一区二区三区四区视频在线观看 | 波多野结衣欧美 | 免费一级毛片正在播放 | 香港国产特级一级毛片 | 5g影院天天爽爽 | 日本三级s级在线播放 | 国产麻豆精品一区二区 | 99在线看 | 十八成人网 | 老司机免费福利午夜入口ae58 | 日韩毛片免费看 | 免费视频 久久久 | 日韩精品一区二三区中文 | 日本欧美一二三区色视频 | aa级黄色毛片 | 久久久噜噜噜www成人网 | 国产成人午夜极速观看 | 亚洲日韩中文字幕天堂不卡 | 大黄毛片 | 97国产在线视频 | 日韩国产欧美一区二区三区在线 | 波多野结衣50连精喷在线 | 欧美一级爽快片淫片高清在线观看 | 九九夜夜| 成人国产一区二区 | 午夜伦理片在线观看 | 激情五月情 | 狠狠干干干 | 精品视频二区 | 成年网站在线看 | 精品在线免费视频 | 97夜夜操|