码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate映射关系配置

时间:2017-09-22 21:11:03      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:hibernate   class   cascade   双向   生成   ring   外键   int   主键   

一:多对一(双向关联)

Bean:

public class Car implements Serializable{

    private int id ;
    
    private String name ;
    
    private User user ;
        
        ....
}
public class User implements Serializable {
    
    private int id ;
    
    private String name ;
    
    private Set<Car> cars ;
        ....
}

xml配置:

Car.hbm.xml:
<class name = "Car">
        <!-- id是来配置主键 
             name是类中的哪个属性和主键映射
             generator:表示主键的生成策略
        -->
        <id name = "id">
            <generator class="native" />
        </id>
        <!-- property是用来把类中的属性和表的字段做一一对应 -->
        <property name="name" />
        
        <!-- many-to-one 唯一的创建新的字段的标签
             name是Car中一的一方的属性
             column 表示name对应到表中的外键是什么名字
        -->
        <many-to-one name="user" column="uid" />
        
    </class>
User.hbm.xml:
<class name = "User">
        <!-- id是来配置主键 
             name是类中的哪个属性和主键映射
             generator:表示主键的生成策略
        -->
        <id name = "id">
            <generator class="native" />
        </id>
        <!-- property是用来把类中的属性和表的字段做一一对应 -->
        <property name="name" />
        <!-- class是集合中的对象 -->
        <set name="cars" cascade="all">
            <!-- key会在多的一方添加一个新的字段 -->
            <key column="uid"></key>
            <one-to-many class="Car"/>
        </set>
    </class>

annotation配置:

@Entity
public class Car implements Serializable{

        @Id @GeneratedValue
    public int getId() {
        return id;
    }

        @ManyToOne
    @JoinColumn(name="uid")
    public User getUser() {
        return user;
    }
} 
@Entity
public class User implements Serializable {
        @Id @GeneratedValue
    public int getId() {
        return id;
    }
        //mappedBy的作用就是用来指定由谁来维护关系 
    
    @OneToMany(mappedBy="user",cascade=CascadeType.ALL)
    public Set<Car> getCars() {
        return cars;
    }
}

 

Hibernate映射关系配置

标签:hibernate   class   cascade   双向   生成   ring   外键   int   主键   

原文地址:http://www.cnblogs.com/hyl-home/p/7576814.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!