Hibernate多对一外键单向关联(Annotation配置)

package edu.xaut.hibernate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="t_group")
public class Group {
    private int id;
    private String name;

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

    public void setId(int id) {
        this.id = id;
    }

    @Column(length = 20)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
}

package edu.xaut.hibernate;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;

@Entity
@Table(name="t_user")
public class User {
    private int id;
    private String name;
    private String title;
    private Group group;

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

    public void setId(int id) {
        this.id = id;
    }

    @Column(length = 20)
    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    @Column(length = 10)
    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @ManyToOne
    @JoinColumn(name = "groupId")
    public Group getGroup() {
        return group;
    }

    public void setGroup(Group group) {
        this.group = group;
    }
}

生成的SQL语句如下:
create table t_group (
        id integer not null auto_increment,
        name varchar(20),
        primary key (id)
    )

    create table t_user (
        id integer not null auto_increment,
        name varchar(20),
        title varchar(10),
        groupId integer,
        primary key (id)
    )

    alter table t_user
        add index FKCB63CCB6D883DE2F (groupId),
        add constraint FKCB63CCB6D883DE2F
        foreign key (groupId)
        references t_group (id)

 

 

 from:http://blog.sina.com.cn/s/blog_4979ec3e0101754x.html

时间: 2024-09-29 23:37:13

Hibernate多对一外键单向关联(Annotation配置)的相关文章

hibernate 一对一注解-hibernate 一对一 唯一外键方式 注解,求大神帮忙?

问题描述 hibernate 一对一 唯一外键方式 注解,求大神帮忙? 例如: 有两张表: Husband(老公表):有字段:hid,hname Wife(老婆表):有字段:wid,wname,husbandid 老公和老婆是一对一,怎么配置一对一 唯一外键 注解,求助?

一对一注解-hibernate 一对一 唯一外键 方式的注解,求大神帮忙,?

问题描述 hibernate 一对一 唯一外键 方式的注解,求大神帮忙,? 例如: 有两张表: Husband(老公表):有字段:hid,hname Wife(老婆表):有字段:wid,wname,husbandid 老公和老婆是一对一,怎么配置一对一 唯一外键 注解,求助? 解决方案 给你推荐一篇博文把:http://www.aichengxu.com/view/38617 解决方案二: http://blog.csdn.net/sias1991/article/details/4661786

【hibernate框架】多对多单向关联(Annotation实现)

什么情况下是多对多? 举个例子:一个老师可以教多个学生,每个学生也可以被多个老师教.这就是多对多的情况. 在数据库表中这种关系该怎么设计?很简单,加一张中间表. 设计模型: table_student id<int> <pk> table_teacher id<int> <pk> 中间表: T_S t_id<int> <pk,fk2> s_id<int> <pk,fk1> 比如老师2教学生1,在中间表中就存2,

【hibernate框架】多对一单向关联(Annotation实现)

一个组有多个用户,一个用户只能属于一个组. 使用Annotation注解来实现多对一单项关联 Group.java: package cn.edu.hpu.many2one; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Table; @Entity @Table(name="t_grou

mysql生成hibernate映射文件外键不能生成

问题描述 RT我在项目中用powerdesigner建的mysql数据库,主外键在数据库中也有,但是在生成hibernate映射文件时外键不能生成关系(一对多.多对多)什么原因啊 解决方案 解决方案二:那就手动加上呗..我一般都是用myEclipse的逆向工程生成hbm文件解决方案三:关键是我这是生成不了手工配置添麻烦了解决方案四:没道理呀,我配出来的都是有的.怪了...

Hibernate中主外键的插入问题

问题描述 有两张表,一张userinfo表,一张good表.其中good表中Saler_id列与userinfo表中主键列User_id是主外键的关系.其中在Hibernate的映射文件中的代码如下<many-to-onename="userinfoBySalerId"class="org.epai.web.entity.Userinfo"fetch="select"><columnname="Saler_id&quo

系统学习hibernate之五:一对一外键关联

在hibernate中一对一外键关联跟多对一外键关联有很相似的地方, hibernate多对一外键关联先参考这个,然后只要是在*.hbm.xml里面加入以下代码: <many-to-one name="group" column="groupid" unique="true"/>, 就是加入unique="true"属性. 多对一外键关联中的*.hbm.xml里面加入以下代码:<many-to-one nam

【hibernate框架】关系映射之一对一单项外键关联(Annotation实现)

一对一单向外键关联(Annotation做法): 例子,假设一夫配一妻(Husband与Wife).两个实体类的例子: Husband.java: package cn.edu.hpu.one2one; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToOne; @Entity pu

【hibernate框架】一对一双向外键关联(Annotation实现)

一对一双向外键关联(Annotation方法): 一夫(Husband)一妻(Wife)的一对一双向外键关联 Husband和Wife实体类: package cn.edu.hpu.one2one; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import jav