hibernate one-to-one
hibernate.cfg<?xml version='1.0' encoding='UTF-8'?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><!-- Generated by MyEclipse Hibernate Tools. --><hibernate-configuration><session-factory><property name="hbm2ddl.auto">update</property><property name="dialect">org.hibernate.dialect.DB2Dialect</property><property name="connection.url">jdbc:db2://192.168.25.230:50000/JSAMPLE</property><property name="connection.username">zyl</property><property name="connection.password">123</property><property name="connection.driver_class">com.ibm.db2.jcc.DB2Driver</property><property name="myeclipse.connection.profile">zyl</property><mapping resource="com/zyl/po/User.hbm.xml" /><mapping resource="com/zyl/po/Card.hbm.xml" /></session-factory></hibernate-configuration>----------------------------------------------------------------------package com.zyl.po;/** * User generated by MyEclipse Persistence Tools */public class User implements java.io.Serializable {public User(Integer userid, String username) {super();this.userid = userid;this.username = username;}public User(Integer userid, String username, Card card) {super();this.userid = userid;this.username = username;this.card = card;}// Fieldsprivate Integer userid;private String username;private Card card;// Constructorspublic Card getCard() {return card;}public void setCard(Card card) {this.card = card;}/** default constructor */public User() {}/** full constructor */public User(String username) {this.username = username;}// Property accessorspublic Integer getUserid() {return this.userid;}public void setUserid(Integer userid) {this.userid = userid;}public String getUsername() {return this.username;}public void setUsername(String username) {this.username = username;}}----------------------------------------------------------------------User.hbm.xml<?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" ><hibernate-mapping><class name="com.zyl.po.User" table="t_user"><id name="userid" type="integer"><column name="userid" /><generator class="increment" /></id><property name="username" type="string"><column name="username" length="32" not-null="true" /></property><one-to-one name="card" class="com.zyl.po.Card" cascade="all"></one-to-one></class></hibernate-mapping>--------------------------------------------------------------------package com.zyl.po;/** * Card generated by MyEclipse Persistence Tools */public class Card implements java.io.Serializable {// Fieldsprivate Integer cardid;private Integer cardnum;private User user;// Constructors/** default constructor */public Card() {}/** full constructor */public Card(Integer cardnum) {this.cardnum = cardnum;}// Property accessorspublic Integer getCardid() {return this.cardid;}public void setCardid(Integer cardid) {this.cardid = cardid;}public Integer getCardnum() {return this.cardnum;}public void setCardnum(Integer cardnum) {this.cardnum = cardnum;}public User getUser() {return user;}public void setUser(User user) {this.user = user;}}----------------------------------------------------------------------Card.hbm.xml<?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" ><hibernate-mapping><class name="com.zyl.po.Card" table="t_card"><id name="cardid" type="integer"><column name="cardid" /><generator class="foreign"><param name="property">user</param></generator></id><property name="cardnum" type="integer"><column name="cardnum" not-null="true" /></property><one-to-one name="user" class="com.zyl.po.User"></one-to-one></class></hibernate-mapping>--------------------------------------------------------------------UserDAO.javapackage com.zyl.dao;import java.util.List;import org.hibernate.Query;import org.hibernate.Session;import org.hibernate.Transaction;import com.zyl.factory.HibernateSessionFactory;import com.zyl.po.User;public class UserDAO {public void save(User user) {Session session = HibernateSessionFactory.getSession();Transaction trans = session.beginTransaction();session.save(user);trans.commit();session.close();}}-------------------------------------------------------------------CardDAO.javapackage com.zyl.dao;import org.hibernate.Session;import org.hibernate.Transaction;import com.zyl.factory.HibernateSessionFactory;import com.zyl.po.Card;public class CardDAO {public void save(Card card ) {Session session = HibernateSessionFactory.getSession();Transaction trans = session.beginTransaction();session.save(card);trans.commit();session.close();}}---------------------------------------------------------------------package com.zyl.dao.test;import org.junit.Assert;import org.junit.Test;import com.zyl.dao.UserDAO;import com.zyl.po.Card;import com.zyl.po.User;public class UserDAOTestCase {@Testpublic void testSaveUsers(){User user=new User();user.setUsername("zyl");Card card=new Card();user.setCard(card);card.setUser(user);card.setCardnum(1);UserDAO userDAO =new UserDAO();userDAO.save(user);Assert.assertNotNull("插入失败",user.getUserid());System.out.println("user.getUsername()");}}----------------------------------表T-USER主键 USERIDINTEGER4否USERNAMEVARCHAR32否T-CARD主键 CARDIDINTEGER4否CARDNUMINTEGER4否
页:
[1]