激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務器之家 - 編程語言 - Java教程 - Hibernate組件映射代碼詳解

Hibernate組件映射代碼詳解

2021-04-02 13:27lavimer Java教程

這篇文章主要介紹了Hibernate組件映射代碼詳解,分享了相關代碼示例,小編覺得還是挺不錯的,具有一定借鑒價值,需要的朋友可以參考下

本文研究的主要是Hibernate組件映射的相關內容,具體如下。

組件關聯映射的屬性是復雜類型的持久化類,但不是實體類,即數據庫中沒有表與該屬性對應,但該類的屬性要持久保存。

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

MyName.java:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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;
    }
}

注:這是一個組件類,不和數據庫進行映射,它對應People中的name字段。

People.java:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
public class People {
    private Integer pid;
    /*名字通過MyName這個類來組合,即組件關聯*/
    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類)關聯來是實現的。

People.hbm.xml:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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來實現主鍵的映射 -->
    <component name="name" class="MyName">
      <property name="firstName" />
      <property name="lastName" />
    </component>
     
  </class>
</hibernate-mapping>

注:組件關聯是通過<component>標簽來映射的。

測試類:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public void testSave1(){
    /*定義Session和事物*/
    Session session = null;
    Transaction transaction = null;
    try {
        /*獲取Session并開啟事物*/
        session = HibernateUtils.getSession();
        transaction = session.beginTransaction();
        /*創建名字*/
        MyName myName = new MyName();
        myName.setFirstName("喬治");
        myName.setLastName("華盛頓");
        /*創建人并設置屬性*/
        People people = new People();
        people.setName(myName);
        session.save(people);
        /*提交事物*/
        transaction.commit();
    }
    catch (Exception e) {
        e.printStackTrace();
        transaction.rollback();
    }
    finally{
        HibernateUtils.closeSession(session);
    }
}

總結

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

原文鏈接:http://blog.csdn.net/lzm1340458776/article/details/32988391

延伸 · 閱讀

精彩推薦
1201
主站蜘蛛池模板: 国产精品久久久久久久亚洲按摩 | 久久久久中精品中文字幕19 | 亚洲国产精品久久久久久久 | 中文字幕观看 | 九草在线视频 | www.48xx.com| 国产精品免费久久久久久 | 国产91一区二区三区 | 欧美老外a级毛片 | 久久视频精品 | 免费淫视频| 看黄在线观看 | 久久精品一区二区三区国产主播 | 国产91一区二区三区 | 媚药按摩痉挛w中文字幕 | 做爰xxxⅹ性护士hd在线 | 国产精品99久久久久久久女警 | 成人爱爱电影 | 在线成人一区二区 | 欧美中文字幕一区二区 | 九草在线| 妇子乱av一区二区三区 | 久久亚洲国产精品 | 草操影院| 久久激情国产 | 99视频在线观看视频 | 免费毛片观看 | 国产色视频在线观看免费 | 成人免费一区二区三区视频网站 | 斗破苍穹在线观看免费完整观看 | 综合国产在线 | 国产在线精品一区二区 | 欧美1| 91网站在线播放 | 亚洲小视频在线观看,com | 欧美精品一级 | 大号bbwassbigav头交 | 国产精品久久久久久模特 | 一级黄色影院 | 特一级黄色毛片 | 中文字幕观看 |