`
tanglei198577
  • 浏览: 59974 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

one-to-one mapping of hibernate

    博客分类:
  • SSH
阅读更多

first ,create two tables you want to make the OR mapping.

create table T_PASSPORT
(
  ID     NUMBER(4) not null primary key,
  SERIAL VARCHAR2(30) not null
)
create table T_PERSON
(
  ID   NUMBER(4) not null primary key,
  NAME VARCHAR2(30) not null,
  AGE  NUMBER(4) not null
)

alter table T_PASSPORT
  add constraint FK_ID foreign key (ID)
  references T_PERSON (ID) on delete cascade;

 

and the hbm.xml of these two tables are:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="Reference.TPassport" table="T_PASSPORT" schema="JIL">
        <id name="id" type="java.lang.Long">
            <column name="ID" precision="4" scale="0" />
            <generator class="foreign">
              <param name="property">TPerson</param>
            </generator>
        </id>
        <one-to-one name="TPerson" class="Reference.TPerson" constrained="true">
        </one-to-one>
        <property name="serial" type="java.lang.String">
            <column name="SERIAL" length="30" not-null="true" />
        </property>
    </class>
</hibernate-mapping>

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
    <class name="Reference.TPerson" table="T_PERSON" schema="JIL">
        <id name="id" type="java.lang.Long">
            <column name="ID" precision="4" scale="0" />
            <generator class="native"></generator>
        </id>
        <property name="name" type="java.lang.String">
            <column name="NAME" length="30" not-null="true" />
        </property>
        <property name="age" type="java.lang.Long">
            <column name="AGE" precision="4" scale="0" not-null="true" />
        </property>        
        <one-to-one name="passport" class="Reference.TPassport" cascade="all" outer-join="true"></one-to-one>
    </class>
</hibernate-mapping>

 Test code:

TPerson per = new TPerson();
TPassport passport = new TPassport();
per.setName("haha");
per.setAge(new Long(20));
passport.setSerial("123345");
passport.setTPerson(per);
per.setPassport(passport);
session.save(per);

 then output is :

Hibernate: select hibernate_sequence.nextval from dual
Hibernate: insert into JIL.T_PERSON (NAME, AGE, ID) values (?, ?, ?)
Hibernate: insert into JIL.T_PASSPORT (SERIAL, ID) values (?, ?)

0
0
分享到:
评论

相关推荐

    Hibernate应用例子one-to-one

    &lt;hibernate-mapping&gt; &lt;!-- 其他属性映射... --&gt; &lt;one-to-one name="passport" class="com.example.Passport" cascade="all"/&gt; &lt;/hibernate-mapping&gt; ``` `Passport.hbm.xml`: ```xml &lt;hibernate-...

    Hibernate Tutorial 04 (Many-to-one and One-to-one Association

    &lt;/hibernate-mapping&gt; ``` 为了将 `Publisher` 类添加到我们的应用程序中,还需要在 Hibernate 配置文件中指定它: ```xml &lt;mapping resource="com/metaarchit/bookshop/Publisher.hbm.xml"/&gt; ``` ##### 2. Book ...

    hibernate-mapping

    例如,`&lt;one-to-one&gt;`、`&lt;many-to-one&gt;`、`&lt;one-to-many&gt;`和`&lt;many-to-many&gt;`元素分别对应这四种关系。关联映射通常涉及外键的处理和级联操作。 5. 注解方式的Mapping 除了XML映射,Hibernate还支持注解方式的映射...

    Hibernate Mapping Many-to-One 实例 内附源代码及附件下载

    本实例将详细讲解如何在Hibernate中实现Many-to-One关系映射,这是一种常见的数据库关联,表示一个实体可以与多个其他实体相关联。 在Many-to-One关系中,通常一个实体(如部门)可以有多个相关实体(如员工),而...

    NHibernate One-to-Many一对多映射-xxlinux_com

    &lt;hibernate-mapping&gt; &lt;!-- ...其他属性映射... --&gt; &lt;one-to-many class="Order"/&gt; &lt;/hibernate-mapping&gt; &lt;hibernate-mapping&gt; &lt;!-- ...其他属性映射... --&gt; &lt;/hibernate-mapping&gt; ``` 在这里,`...

    Hibernate集合关系映射及one-one,one-many,many-many示例(带注释)

    本程序包含: hibenate 上传图片,二进制数据,大文本,集合映射的多种关系,onetoone,ontomany,manytomany等关系详细代码示例以及注释,全部由本人测试通过,对理解hibernate配置有极大帮助。

    Hibernate关联关系映射目录

    &lt;hibernate-mapping&gt; &lt;/hibernate-mapping&gt; &lt;hibernate-mapping&gt; &lt;!-- 映射关联PO,column是Address在该表中的外键列名,增加unique变成“1-1” --&gt; &lt;many-to-one name="address" column...

    Hibernate-api Hibernate文档

    Hibernate 是一个开源的对象关系映射...通过深入学习这份Hibernate-api文档,开发者能够熟练掌握Hibernate的核心概念、配置、查询机制以及对象关系映射,从而在实际项目中更加自如地运用Hibernate这一强大的ORM工具。

    hibernate最新版jar包(全)

    10. **多对一(One-to-Many)、一对多(Many-to-One)、一对一(One-to-One)、多对多(Many-to-Many)关系**: Hibernate支持这四种数据库关联关系,通过不同的注解配置来实现。 **使用Hibernate的步骤** 1. **...

    hibernate关系映射配置.rar

    &lt;hibernate-mapping&gt; &lt;class name="com.bjsxt.hibernate.User" table="t_user"&gt; &lt;!-- &lt;many-to-one name="group" column="groupid" cascade="all"/&gt; --&gt; &lt;many-to-one name="group" column...

    Hibernate关联映射-one to one单向外键关联

    &lt;hibernate-mapping&gt; &lt;!-- 其他属性 --&gt; &lt;one-to-one name="account" class="com.example.Account" foreign-key="fk_user_account"/&gt; ``` 在这个配置中,`name`属性指定了在`User`类中的属性名,`class`属性...

    expert+one-on-one+j2ee+development+without+ejb中文版.rar

    Spring提供了IOC(Inversion of Control)和AOP(Aspect Oriented Programming)功能,而Hibernate则是一个强大的ORM(Object-Relational Mapping)工具,它们降低了对EJB的依赖。 2. **Web层技术**:书中可能会...

    Hibernate5.0.7的dtd约束

    接下来,我们转向`hibernate-mapping-3.0.dtd`,它是Hibernate实体映射文件的DTD。映射文件是将Java类与数据库表关联起来的关键,通过这些映射,Hibernate能够理解如何将对象状态转化为数据库记录,反之亦然。在这个...

    hibernate_One2One

    &lt;hibernate-mapping&gt; &lt;!-- ... --&gt; &lt;one-to-one name="driverLicense" class="com.example.DriverLicense" /&gt; &lt;!-- ... --&gt; &lt;/hibernate-mapping&gt; ``` **六、注意事项** 1. 为了确保一对一...

    Hibernate之第3解之-hibernate_hibernate_many2one_1

    《深入理解Hibernate:第三解——Many-to-One关系映射实战》 在Java世界里,ORM(Object-Relational Mapping)框架的出现极大地简化了数据库与Java对象之间的交互,而Hibernate作为其中的佼佼者,更是备受开发者青睐...

    Hibernate应用例子many-to-many

    在Java世界中,Hibernate是一个非常流行的Object-Relational Mapping(ORM)框架,它极大地简化了数据库操作,使得开发者可以使用面向对象的方式来处理数据库事务。本示例将详细讲解如何在Hibernate中实现多对多...

    Hibernate关联关系配置

    &lt;hibernate-mapping&gt; &lt;class name="com.suxiaolei.hibernate.pojos.Customer" table="customer"&gt; &lt;!-- 主键设置 --&gt; &lt;column name="id"&gt;&lt;/column&gt; &lt;generator class="uuid"&gt;&lt;/generator&gt; &lt;!-- 属性设置 --&gt;...

    hibernate-release-5.0.7.Final.zip官方

    &lt;one-to-many class="Order"/&gt; ``` ```java @Entity public class User { @Id private Long id; private String name; @Fetch(FetchMode.JOIN) @OneToMany(mappedBy = "user") private List&lt;Order&gt;...

Global site tag (gtag.js) - Google Analytics