Hibernate注解:一对多外键关联
情形:两个表,cms_mode是主表,cms_model_field是子表,cms_model_field的model_id字段关联到cms_model的主键。
#
# Source for table cms_model
# DROP TABLE IF EXISTS `cms_model`;
CREATE TABLE `cms_model` (
`model_id` int(11) NOT NULL,
`name` varchar(50) NOT NULL DEFAULT '',
`title` varchar(100) NOT NULL DEFAULT '' COMMENT '名称',
) ENGINE=MyISAM DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='CMS模型表'; #
# Source for table cms_model_field
# DROP TABLE IF EXISTS `cms_model_field`;
CREATE TABLE `cms_model_field` (
`field_id` int(11) NOT NULL AUTO_INCREMENT,
`model_id` int(11) NOT NULL DEFAULT '' COMMENT '模型ID',
`name` varchar(50) DEFAULT NULL COMMENT '名称',
`title` varchar(250) NOT NULL DEFAULT '' COMMENT '标题',
`priority` int(11) NOT NULL DEFAULT '' COMMENT '权重',
`data_type` char(1) NOT NULL DEFAULT '' COMMENT '数据类型(S-字符,N-数值,D-日期,T-备注)',
`is_reserved` tinyint(1) NOT NULL DEFAULT '' COMMENT '是否保留',
PRIMARY KEY (`field_id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='CMS模型字段表';;
CmsModel.java:
@Entity
@Table(name = "cms_model")
@SuppressWarnings("serial")
public class CmsModel implements Serializable
{
@Id
@GeneratedValue
@Column(name = "model_id")
private Integer id; @Column(name = "name")
private String name; @Column(name = "title")
private String title; @OneToMany(mappedBy = "model",
fetch = FetchType.LAZY)
private List<CmsModelField> fieldList;
}
CmsModelField.java:
@Entity
@Table(name = "cms_model_field")
@SuppressWarnings("serial")
public class CmsModelField implements Serializable
{
@Id
@GeneratedValue
@Column(name = "field_id")
private Integer id; @Column(name = "name")
private String name; @Column(name = "title")
private String title; @Column(name = "data_type")
private String dataType; @Column(name = "priority")
private Integer priority; @Column(name = "is_reserved")
private Boolean reserved; @ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "model_id")
private CmsModel model;
}
@OneToMany Default: FetchType.LAZY默认是延迟抓取,不需要左联接。如果是FetchType.EAGER即时抓取,就会是左联接查询。
@ManyToOne Default: FetchType.EAGER默认是即时抓取,做连接。如果fetch=FetchType.LAZY不是左联接,在需要One的时候直接select。
Hibernate注解:一对多外键关联的更多相关文章
- 04-hibernate注解-一对一双向外键关联
一对一双向外键 1,主控方的配置同一对一单向外键关联. 2,@OneToOne(mappedBy="card") //被控方 @OneToOne(mappedBy="ca ...
- Hibernate注解:一对一主键关联
情形:两个表,my_site和my_site_company,通过主键site_id唯一关联.my_site的主键是自动增加,my_site_company的主键依赖于my_site. # # Sou ...
- hibernate5(12)注解映射[4]一对一外键关联
在实际博客站点中,文章内容的数据量非常多,它会影响我们检索文章其他数据的时间,如查询公布时间.标题.类别的等. 这个时候,我们能够尝试将文章内容存在还有一张表中,然后建立起文章--文章内容的一对一映射 ...
- hibernate一对一双向外键关联
一对一双向外键关联:双方都持有对方的外键关联关系. 主控方和一对一单向外键关联的情况是一样的,主要的差异表现为,被空方需要添加: @OneToOne(mappedBy="card" ...
- Hibernate一对一单向外键关联
一.一对一单向外键关联: 一对一单向外键关联主要用到了以下两个注解: 1.OneToOne(cascade=CasecadeTYPE.ALL); cascade=CasecadeTYPE.ALL:表示 ...
- hibernate 关系映射之 单向外键关联一对一
这里的关系指的是对象与对象之间的关系 注解方式单向关联一对一: //这个类描述的husband是一个对应一个wife的 import javax.persistence.Entity; import ...
- Hibernate,关系映射的多对一单向关联、多对一双向关联、一对一主键关联、一对一外键关联、多对多关系关联
2018-11-10 22:27:02开始写 下图内容ORM.Hibernate介绍.hibername.cfg.xml结构: 下图内容hibernate映射文件结构介绍 下图内容hibernate ...
- Hibernate 再接触 关系映射 一对一单向外键关联
对象之间的关系 数据库之间的关系只有外键 注意说关系的时候一定要反面也要说通 CRUD 数据库之间设计 主键关联 单向的外键关联 中间表 一对一单向外键关联 Husband.java package ...
- hibernate中指定非外键进行关联
/** * 上级资源 */ @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "PARENT_ID", reference ...
随机推荐
- dubbo Linux 解决:nc: command not found
出现该情况有两种可能: (1)没有配置nc命令的环境变量: (2)该系统没有安装nc命令: 我查看了一下在/usr/bin目录中并没有nc命令,所以我可以认为出现该情况的原因是第二种情况 下载安装 下 ...
- C# 常见集合之前的转换
1,从System.String[]转到List<System.String> System.String[] str={"str","string" ...
- C# Color Table颜色对照表
.AliceBlue 240,248,255 .LightSalmon 255,160,122 .AntiqueWhite 250,235,215 .LightSeaGreen 32,178,170 ...
- IntelliJ IDEA使用SSH功能
Tools→Start SSH session... 选择Edit credentials... 输入SSH登录信息即可 输入SSH登录信息,Port默认为22 来自为知笔记(Wiz)
- php特殊字符过滤,html标签处理
1,magic_quotes_gpc 默认情况下,PHP 指令 magic_quotes_gpc 为 on,对所有的 GET.POST 和 COOKIE 数据自动运行 addslashes().不要 ...
- 磁盘IOPS的计算
计算磁盘IOPS的三个因素: 1.RAID类型的读写比 不同RAID类型的IOPS计算公式: RAID类型 公式 RAID5.RAID3 Drive IOPS=Read IOPS + 4*Wr ...
- cowboy使用restful的例子
直接贴代码,一切尽在不言中 %% cowboy的restful的文档,一定要好好阅读http://ninenines.eu/docs/en/cowboy/HEAD/manual/cowboy_rest ...
- C#中WebService 的 Timer定时器过段时间后自动停止运行
我用.net做的一个Timer定时器,定时获取短信并给予回复,但大概过了十几个小时以后,Timer定时器会自动停止,再发送短信就不能收到回复,需要在服务器中重新运行定时器才可以,请教各位! 我是在.n ...
- VB中的+与&符号的区别
字符串运算符和字符串表达式 字符串运算符的作用是将两个字符串连接成一个字符串,经常形象的叫做连接符. 在VB中就提供了两种连接用的字符串运算符 “&”.“+” 例如 “VB”+“编程入门” ...
- 让 SVN (TortoiseSVN)提交时忽略bin和obj目录
2013-06-23 更新 后来我使用属性来过滤,结果反而没有效果了,之后我再次尝试使用全局忽略样式设置:*/bin */obj */packages 结果又有效果了,奇怪了. ------- 由于我 ...