读书人

hibernate关联关系-组件联系关系

发布时间: 2012-10-24 14:15:58 作者: rapoo

hibernate关联关系-组件关联

组件关联关系的映射与原理:

?

模型:User — Name(两者同属一张表中)

?

package Domain;import java.util.Date;public class User {public int getId() {return id;}public void setId(int id) {this.id = id;}public Name getName() {return name;}public void setName(Name name) {this.name = name;}public Date getBirthday() {return birthday;}public void setBirthday(Date birthday) {this.birthday = birthday;}private int id;// private String name;private Name name;private Date birthday;}

?

?

package Domain;public class Name {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;}private String firstName;private String lastName;}

?

?

<?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="Domain"><class name="User" table="user"><id name="id"><generator /></id><!-- <property name="name" unique="true"/> --><component name="name"><property name="firstName" column="first_name"/><property name="lastName" column="last_name"/></component><property name="birthday"/></class></hibernate-mapping>

?

?

package Dao.Test;import java.util.Date;import Dao.UserDAO;import Dao.Impl.UserDAOImpl;import Domain.Name;import Domain.User;public class UserDAOTest {public static void main(String[] args) {/*UserDAO dao = new UserDAOImpl();User user = new User();user.setName("Eric");user.setBirthday(new Date());System.out.println("==============================================");dao.saveUser(user);System.out.println("==============================================");user.setName("new Eric");dao.updateUser(user);System.out.println("==============================================");User u = dao.findUserByName(user.getName());System.out.println("==============================================");dao.removeUser(u);*/User user = new User();user.setBirthday(new Date());Name n = new Name();n.setFirstName("firstName");n.setLastName("lastName");user.setName(n);UserDAO dao = new UserDAOImpl();dao.saveUser(user);}}

?

1 楼 csdn_zuoqiang 2010-08-03 一般在一对一,一对多中设置级联cascade 2 楼 csdn_zuoqiang 2010-08-03 //==================此处建立emps到depart的关联====================
emp1.setDepart(depart);// 对象模型:建立两个对象的关联

两者的关联只要声明一个就可以~!告诉员工属于哪个部门,或者告诉部门有哪些员工~!


//==================此处建立depart到emps的关联====================
depart.setEmps(emps); 3 楼 csdn_zuoqiang 2010-08-03 一定要告诉员工他的部门是谁~! 4 楼 csdn_zuoqiang 2010-08-03 维护关系其实就是更新外键

读书人网 >软件架构设计

热点推荐