使用Hibernate注解来配置多对一单向的三种方法

转载 2013年12月03日 22:17:26

多对一单向(数据库设计,多在在多方设计外键)

         数据库设计:主键列不可分,联合主键不可有部分依赖,不能存在传递依赖

         注解中在多方的类中加入一个"一方"的类,然后在方法之上加上@ManyToOne

         XML中在多方的XML中设置<many-to-one name="一方的字段名" column="具体的外键名字">

 

 

注:在数据库中要生成的表要改名字,可以用@Table(name="")

第一种方法(一共会生成三张表,两张实体表,一张关系表)

                            多端:(生成一张表,存在一个外键comp_id

@Entity()

public class Flight implements Serializable {

    @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )

    @JoinColumn(name="COMP_ID")

    public Company getCompany() {

        return company;

    }

    ...

}

        一端:

@OneToMany(cascade=CascadeType.ALL,fetch=FetchType.LAZY)

  public Set<Student> getStudent() {

     return student;

  }

  public voidsetStudent(Set<Student> student) {

     this.student = student;

   }
第二种方法:(效果同第一种一样)
@Entity()
public class Flight implements Serializable {
    @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE},targetEntity=CompanyImpl.class )
    @JoinColumn(name="COMP_ID")
    public Company getCompany() {
        return company;
    }
    ...
}
 
public interface Company {
    ...

第三种方法

@Entity()

public class Flight implements Serializable {

    @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )

    @JoinTable(name="Flight_Company",

        joinColumns = @JoinColumn(name="FLIGHT_ID"),

        inverseJoinColumns = @JoinColumn(name="COMP_ID")

    )

    public Company getCompany() {

        return company;

    }

    ...

}

相关文章推荐

hibernate单向多对多映射(注解版)

  • 2017年05月05日 17:16
  • 15KB
  • 下载

Hibernate使用中间表完成单向多对多关联关系的配置和级联操作示例

有两个原本没有关系的

hibernate注解方式单向多对一关联

hibernate单向多对一关联: 1.数据表,一方:customer,多方:orders 2.hibernate配置文件 ...

hibernate5(9)注解映射[1]多对一单向关联

在实际的项目开发中,我们常常需要建立我们实体类间的复杂关系,比如在一个博客网站中,用户会写文章,则文章与用户的关系就是多对一的映射关系。 现在先看一个配置实例:我们的文章实体类package com...

【SSH进阶之路】【九】hibernate5 注解映射【1】 多对一单向关联

在博客网站中,我们可能需要从某一篇文章找到其所关联的作者,这就需要从文章方建立起对用户的关联,即是多对一的映射关系。现在先看一个配置实例:我们的文章实体类package com.chenhao.hib...

Hibernate关系映射级别注解(一对多单向外键关联、一对多(多对一)双向外键关联)

一对多单向外键关联一对多就是一方持有多方的集合,一个班级有多个学生 需要在一方添加注解: @OneToMany(cascade={CascadeType.ALL}, fetch=FetchType...

hibernate多对一单向配置

下面对hibernate多对一单向配置做好笔记。 多对一就比较简单了,先建立 Group 类和 User 类,因为这次是 多对一,所以在 多的一方做设置即可,在 User 类中加个对 Group的引...

hibernate 多对一单向关联关系配置的完整示例

JAVA类: public class App implements Serializable { private Long appId;//应用编号 private String appNa...
  • atlim
  • atlim
  • 2012年06月13日 18:33
  • 400

Hibernate关联关系映射-----单向多对一映射配置

在这里举了一个不太恰当的例子:双亲和孩子。当然举这个例子也有一定的道理,一个孩子至少有两个parent,但是例子只是例子,重点不是例子而是配置方法。下面我们看一下配置的详细步骤:实体:package ...
  • wkcgy
  • wkcgy
  • 2011年07月23日 10:05
  • 1569

hibernate配置单向一对多和多对一的关系

hibernate.cfg.xml
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用Hibernate注解来配置多对一单向的三种方法
举报原因:
原因补充:

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