欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Hibernate組件映射代碼詳解

 更新時間:2018年02月08日 09:09:51   作者:lavimer  
這篇文章主要介紹了Hibernate組件映射代碼詳解,分享了相關(guān)代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是Hibernate組件映射的相關(guān)內(nèi)容,具體如下。

組件關(guān)聯(lián)映射的屬性是復(fù)雜類型的持久化類,但不是實體類,即數(shù)據(jù)庫中沒有表與該屬性對應(yīng),但該類的屬性要持久保存。

比如:外國人的名字name分為firstName和lastName。

MyName.java:

public class MyName {
	private String firstName;
	private String lastName;
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
}

注:這是一個組件類,不和數(shù)據(jù)庫進(jìn)行映射,它對應(yīng)People中的name字段。

People.java:

public class People {
	private Integer pid;
	/*名字通過MyName這個類來組合,即組件關(guān)聯(lián)*/
	private MyName name;
	public Integer getPid() {
		return pid;
	}
	public void setPid(Integer pid) {
		this.pid = pid;
	}
	public MyName getName() {
		return name;
	}
	public void setName(MyName name) {
		this.name = name;
	}
}

注:name字段是通過組件(MyName類)關(guān)聯(lián)來是實現(xiàn)的。

People.hbm.xml:

<?xml version="1.0"?> 
<!DOCTYPE hibernate-mapping PUBLIC  
  "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
  "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
<hibernate-mapping package="com.lixue.bean"> 
  <class name="People" table="t_people"> 
    <id name="pid"> 
      <generator class="native"/> 
    </id> 
     
    <!-- 通過Component來實現(xiàn)主鍵的映射 --> 
    <component name="name" class="MyName"> 
      <property name="firstName" /> 
      <property name="lastName" /> 
    </component> 
     
  </class> 
</hibernate-mapping> 

注:組件關(guān)聯(lián)是通過<component>標(biāo)簽來映射的。

測試類:

public void testSave1(){
	/*定義Session和事物*/
	Session session = null;
	Transaction transaction = null;
	try {
		/*獲取Session并開啟事物*/
		session = HibernateUtils.getSession();
		transaction = session.beginTransaction();
		/*創(chuàng)建名字*/
		MyName myName = new MyName();
		myName.setFirstName("喬治");
		myName.setLastName("華盛頓");
		/*創(chuàng)建人并設(shè)置屬性*/
		People people = new People();
		people.setName(myName);
		session.save(people);
		/*提交事物*/
		transaction.commit();
	}
	catch (Exception e) {
		e.printStackTrace();
		transaction.rollback();
	}
	finally{
		HibernateUtils.closeSession(session);
	}
}

總結(jié)

以上就是本文關(guān)于Hibernate組件映射代碼詳解的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • Java使用IntelliJ IDEA連接MySQL的詳細(xì)教程

    Java使用IntelliJ IDEA連接MySQL的詳細(xì)教程

    這篇文章主要給大家介紹了關(guān)于Java使用IntelliJ IDEA連接MySQL的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • Mybatis Update操作返回值問題

    Mybatis Update操作返回值問題

    在獲取update操作的返回值時遇到了一個問題,似乎 Mybatis 進(jìn)行 update 操作得到的 int 返回值并不是影響的行數(shù),下面通過本文給大家分享Mybatis Update操作返回值問題,需要的朋友參考下吧
    2017-09-09
  • Java歐拉函數(shù)的計算代碼詳解

    Java歐拉函數(shù)的計算代碼詳解

    這篇文章主要介紹了Java實現(xiàn)歐拉函數(shù)的計算,從歐拉函數(shù)引伸出來在環(huán)論方面的事實和拉格朗日定理構(gòu)成了歐拉定理的證明,本文通過實例代碼給大家介紹的很詳細(xì),需要的朋友可以參考下
    2021-05-05
  • Java forEach對原數(shù)組的操作過程

    Java forEach對原數(shù)組的操作過程

    forEach對于基本數(shù)據(jù)類型,是直接賦值,對于引用數(shù)據(jù)類型,是引用地址值,forEach遍歷時,是創(chuàng)建的臨時變量,引用的數(shù)據(jù)地址,本文給大家介紹Java forEach對原數(shù)組的操作過程,感興趣的朋友一起看看吧
    2024-02-02
  • 簡述Java中throw-throws異常拋出

    簡述Java中throw-throws異常拋出

    任何Java代碼都可以拋出異常,本文主要介紹了Java中throw-throws異常拋出,具有一定的參考價值,感興趣的可以了解一下
    2021-08-08
  • 舉例講解Java中synchronized關(guān)鍵字的用法

    舉例講解Java中synchronized關(guān)鍵字的用法

    這篇文章主要介紹了Java中synchronized關(guān)鍵字的用法,針對synchronized修飾方法的使用作出了簡單講解和演示,需要的朋友可以參考下
    2016-04-04
  • SSH框架網(wǎng)上商城項目第2戰(zhàn)之基本增刪查改、Service和Action的抽取

    SSH框架網(wǎng)上商城項目第2戰(zhàn)之基本增刪查改、Service和Action的抽取

    SSH框架網(wǎng)上商城項目第2戰(zhàn)之基本增刪查改、Service和Action的抽取,感興趣的小伙伴們可以參考一下
    2016-05-05
  • SpringBoot應(yīng)用能直接運行java -jar的原因分析

    SpringBoot應(yīng)用能直接運行java -jar的原因分析

    這篇文章主要介紹了SpringBoot應(yīng)用為什么能直接運行java -jar,首先明確一點,普通jar包是不能直接運行的,比如工具類jar,要能運行,至少得要一個main函數(shù)作為入口吧?本文給大家介紹了詳細(xì)的原因分析,需要的朋友可以參考下
    2024-03-03
  • springboot+angular4前后端分離 跨域問題解決詳解

    springboot+angular4前后端分離 跨域問題解決詳解

    這篇文章主要介紹了springboot+angular4前后端分離 跨域問題解決詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • Java垃圾回收之標(biāo)記壓縮算法詳解

    Java垃圾回收之標(biāo)記壓縮算法詳解

    今天小編就為大家分享一篇關(guān)于Java垃圾回收之標(biāo)記壓縮算法詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10

最新評論