EJB3 jpa 数据库表的映射关系
1)多对一映射关系(单向)
使用外键关联,在外键的选取上以多的一方为主,即外键要在多的一方体现出来
@Entity
public class Company implements Serializable{
@Id
@Column(name = "c_id")
private int id; private String name;
}
@Entity
public class Employee implements Serializable { @Id
@Column(name="e_id")
private int id; private String name; @ManyToOne
@JoinColumn(name = "c_id")
private Company company;
}
2)一对多
1.单向关联(以一的一方为主,即一对多关系要体现在一的一方)
创建中间表,以两张表的id字段为内容(hibernate的生成策略:在多的一方生成一个外键)
@Entity
public class Company implements Serializable{
@Id
@Column(name = "c_id")
private int id; private String name; @OneToMany
private Set<Employee> employee;
}
@Entity
public class Employee implements Serializable { @Id
@Column(name="e_id")
private int id; private String name;
}
2.双向关联
不创建中间表,以在多的一方保存一个外键作为记录,体现一对多
**与单向不同的是,双向关联必须要在一的一方定义mappedby,指向多的一方
@Entity
public class Company implements Serializable{
@Id
@Column(name = "c_id")
private int id; private String name; @OneToMany(mappedBy="companys")
private Set<Employee> employees;
}
@Entity
public class Employee implements Serializable { @Id
@Column(name="e_id")
private int id; private String name;
@ManyToOne
private Company companys;
}
3)一对一
1.一对一主键关联(生成的表没有任何外加字段,也没有中间表,以ID的约束为主键)
@Entity
public class Company implements Serializable{
@Id
@Column(name = "c_id")
private int id; private String name; @OneToOne
@PrimaryKeyJoinColumn
private Boss boss;
}
@Entity
public class Boss { @Id
private int id; private String name; @OneToOne(mappedBy="boss")
private Company company; }
2.一对一外键关联(在主的一方A加入一个外键,并且该外键唯一,而在另一方B同样引入该规则,但不产生外键,仅使A的一方的主键也唯一)
@Entity
public class Company implements Serializable{
@Id
@Column(name = "c_id")
private int id; private String name; @OneToOne
@JoinColumn(name="boss_id" ,unique=true)
private Boss boss; }
@Entity
public class Boss { @Id
private int id; private String name; @OneToOne(mappedBy="boss")
private Company company; }
EJB3 jpa 数据库表的映射关系的更多相关文章
- Activiti 5.17 实体对象与类和数据库表的映射
一.Activiti 5.17 mybatis的mapping文件声明映射的实体对象关系. <configuration><settings><settingname=& ...
- sql操作数据库(3)-->外键约束、数据库表之间的关系、三大范式、多表查询、事务
外键约束 在新表中添加外键约束语法: constraint 外键约束名称 foreign key(外键的字段名称) references 主表表名(主键字段名) 在已有表中添加外键约束:alter t ...
- jpa数据库表实体命名规则 Unknown column 'user0_.create_time' in 'field list'
数据库,表字段命名是驼峰命名法(createTime),Spring data jpa 在操作表的时候,生成的sql语句中却是create_time, 表字段不对照, Spring data jpa基 ...
- Spring Hibernate JPA 联表查询 复杂查询(转)
今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的? 是.如果hibernate认为jpa的注解够用,就直接用.否则会弄一个自己的出来作为补充. 2)jpa和hibern ...
- Spring Hibernate JPA 联表查询 复杂查询
今天刷网,才发现: 1)如果想用hibernate注解,是不是一定会用到jpa的? 是.如果hibernate认为jpa的注解够用,就直接用.否则会弄一个自己的出来作为补充. 2)jpa和hibern ...
- hiberate 映射关系 详解
在我们平时所学的关系型数据库中,我们会大量处理表与表之间的关系,如果表比较多的话处理起来就比较繁琐了,但是hibernate给我们提供了很大的便利,这些便利让我们处理起来方便.我们所讲的源码地址:ht ...
- JAVA 自动生成对应数据库表的JPA代码工具
http://blog.csdn.net/zheng2008hua/article/details/6274659 关键词:JPA 数据库表代码自动生成,JPA代码生成 自动生成对应数据库表的 ...
- 数据库表结构设计方法及原则(li)
数据库设计的三大范式:为了建立冗余较小.结构合理的数据库,设计数据库时必须遵循一定的规则.在关系型数据库中这种规则就称为范式.范式是符合某一种设计要求的总结.要想设计一个结构合理的关系型数据库,必须满 ...
- hibernate笔记--使用注解(annotation)方式配置单(双)向多对一的映射关系
前面几篇都是介绍的用配置文件来实现实体类到数据库表的映射,这种方式是比较麻烦的,每一个pojo类都需要写一个相应的*.hbm.xml,无疑增加了很多代码量,不过也有优点就是利于维护,为了方便开发,Hi ...
随机推荐
- Part 5 - Django ORM(17-20)
https://github.com/sibtc/django-beginners-guide/tree/v0.5-lw from django.conf.urls import url from d ...
- linxu ssh 双端认证 不成功之authorized_keys
linxu ssh 双端认证 不成功之authorized_keys liunx双端认证可以让我们更简便的在两台服务器之间传输文件,配置暂且不说,网上有大部分的文章可以搜索到,今天我要说的是在不成功的 ...
- HDU 3177 Crixalis's Equipment (贪心,差值)
题意:判断 n 件物品是否可以搬进洞里,每件物品有实际体积A和移动时的额外体积 B . 析:第一反应就是贪心,一想是不是按B从大到小,然后一想,不对,比如体积是20,第一个 是A=11, B=19.第 ...
- python cov()
在PCA中涉及到了方差var和协方差cov,下面详细了解这两个函数的用法.numpy中var和cov函数求法和MATLAB中var和cov函数求法类似. 首先均值,样本方差,样本协方差公式分别为 其中 ...
- python编码(六)
1. 字符编码简介 1.1. ASCII ASCII(American Standard Code for Information Interchange),是一种单字节的编码.计算机世界里一开始只有 ...
- 硬盘坏道检测工具对比(DiskGenius/HdTunePro/MHDD等)
说到硬盘检测软件,大家肯定会想到MHDD,但是MHDD真的好用?反正我觉得太难用了,只能在DOS下运行,不能在Win系统下运行:最重要的是只支持IDE硬盘模式,现在的主板几乎全部默认都是AHCI模式, ...
- day14(xml 编写及解析)
编写 xml的组成: 1.文档的声明 <?xml version='1.0' encoding='UTF-8' standalone='yes'> xml 表示标签的名字 encoding ...
- google-glog功能介绍
google-glog功能介绍 分类: 其它类型2011-08-19 10:06 6618人阅读 评论(0) 收藏 举报 cookiesgooglestreammodulemapreducenull ...
- asp.net-分析器错误消息: 服务器标记的格式不正确。
大多数都是引号造成的 错误: <asp:LinkButton ID="btnRefund" runat="server" CommandName=&quo ...
- SQL处理数据并发,解决ID自增
1 创建MaxIdProcess表,由于存储ID的最大值 CREATE TABLE [dbo].[MaxIdProcess]( ,) NOT NULL, --自增ID ) NOT NULL, --存储 ...