hibernate 一对一实践 - -

原创 2007年09月19日 13:51:00
Content.hbm.xml
<hibernate-mapping>
    <class name="org.hibernate.Content" table="content" catalog="exam">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="foreign">
            <param name="property">info</param>
            </generator>
           
        </id>
        <property name="type" type="java.lang.String">
            <column name="type" length="20" />
        </property>
        <property name="point" type="java.lang.String">
            <column name="point" length="50" />
        </property>
        <property name="score" type="java.lang.Integer">
            <column name="score" />
        </property>
        <property name="modulus" type="java.lang.Float">
            <column name="modulus" precision="12" scale="0" />
        </property>
        <property name="text" type="java.lang.String">
            <column name="text" length="1500" />
        </property>
        <property name="answer" type="java.lang.String">
            <column name="answer" length="1500" />
        </property>
        <property name="pretime" type="java.util.Date">
            <column name="pretime" length="0" />
        </property>
        <one-to-one name="info" class="org.hibernate.Info" constrained="true"></one-to-one>
    </class>
</hibernate-mapping>
Info.hbm.xml
<hibernate-mapping>
    <class name="org.hibernate.Info" table="info" catalog="exam">
        <id name="id" type="java.lang.Integer">
            <column name="id" />
            <generator class="native" />
        </id>
        <property name="major" type="java.lang.String">
            <column name="major" length="50" />
        </property>
        <property name="subject" type="java.lang.String">
            <column name="subject" length="50" />
        </property>
        <property name="unit" type="java.lang.String">
            <column name="unit" length="50" />
        </property>
       <one-to-one
       name="content"
       class="org.hibernate.Content"
       cascade="all"
       ></one-to-one>
    </class>
</hibernate-mapping>
Info.java
     private Integer id;
     private String major;
     private String subject;
     private String unit;
     private Content content;
+getter+setter
Content.java
private Integer id;
     private String type;
     private Integer score;
     private String point;
     private Float modulus;
     private String text;
     private String answer;
     private Date pretime;
     private Info info;
+getter+setter
添加的Action中
           InfoDAO infodao = new InfoDAO();
            Content content = new Content();
            Info info = new Info();
       其他对象赋值
           content.setInfo(info);
            info.setContent(content);
            infodao.save(info);
之后两个表都添加成功
          infodao.save(info);
删除,更新类似,注意Info.hbm.xml中 cascade="all" 
版权声明:欢迎加入开源技术 Q 群:242561391,让学习和分享成为一种习惯!

相关文章推荐

hibernate 一对一 最佳实践

aa

Entity Framework 实践系列 —— 搞好关系 - 单相思(单向一对一,one-to-one)

原以为躲入代码世界,就可以不用搞关系,哪知“关系无处不在”。写代码多年之后,终于明白“面向对象的关键是搞好对象之间的关系”。而Entity Framework作为ORM中的明日之星,首当其冲的使命就是...

hibernate一对一实例

  • 2014年07月14日 21:31
  • 14KB
  • 下载

hibernate单边一对一关系demo

  • 2015年10月07日 19:14
  • 499KB
  • 下载

一对一主键关联关系的理解与实践

hibernate 主键 一对一关联关系
  • liu_005
  • liu_005
  • 2015年10月08日 16:20
  • 1485

Entity Framework 实践系列 —— 搞好关系 - 两情相悦(双向一对一,one-to-one)- 续

在上篇文章中,我们通过WithRequiredDependent或WithRequiredPrincipal实现了“双向一对一”关系,但是Entity Framework生成的SQL语句很糟糕。 在...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hibernate 一对一实践 - -
举报原因:
原因补充:

(最多只允许输入30个字)