《Java从入门到放弃》框架入门篇:使用注解的方式配置hibernate映射关系

之前我们都是使用配置文件的方式来生成的代码,虽然和JDBC比较简单了很多,但每次都在修改时需要既改实体类又改映射文件。还是有点麻烦。

所以,这一篇,我们来说说使用注解的方式来在接在实体类上配置映射关系。

第一步:新建一个项目,或者把之前项目中的实体类、映射文件,还有hibernate中的mapping标签都删除,然后在DBBrowser中再次生成实体类。如下图:

红框中的选项就表示直接在POJO上以注解的方式加上映射关系。注意括号内的hibernate版本,必须是3.2及以上的才行。

生成后的实体类(Author和Blog)代码我就不复制上来了,内容太多。使用到的注解如下所示:

@Entity @Table(name = "author", catalog = "blogdb")

@Id @GeneratedValue @Column(name = "id", unique = true, nullable = false)

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

@ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "author_id")

这些注解就不一一介绍了。主要说明一下映射关系的注解。

cascade属性的值对应有javax.persistence.CascadeType的几个选项。

PERSIST:添加时级联。

MERGE:更新时级联。

REMOVE:删除时级联。

ALL:    所有操作都级联(默认)。

如果你设置为ALL以外的值,你会发现,完全没有级联!!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jackson0714

Ubuntu 安装yii2 advanced版 遇到的坑

https://www.yiichina.com/doc/guide/2.0/start-installation 通过 Composer 安装

1772
来自专栏北京马哥教育

pt-table-checksum使用实践

在工作中接触最多的就是mysql replication。由于现在公司也还在使用mysql 5.1.x版本,在复制方面还是比较多的问题: 比如主库宕机或者从库宕...

6018
来自专栏MasiMaro 的技术博文

xampp 中 mysql的相关配置

最近开始接触PHP,而一般搭建PHP环境使用的都是xampp 这个集成环境,由于之前我的系统中已经安装了mysql服务,所以在启动mysql的时候出现一些列错误...

1853
来自专栏Java架构沉思录

你确定你的MySQL足够安全吗?

对于任何一种数据库来说,安全问题都是非常重要的。如果数据库出现安全漏洞,轻则数据被窃取,重则数据被破坏,这些后果对于一些重要的数据库都是非常严重的。下面来从操作...

1376
来自专栏Ken的杂谈

CentOS 6/7 下MySQL 8.0 安装部署与配置

4386
来自专栏程序员的SOD蜜

Oracle 免费的数据库--Database 快捷版 11g 安装使用与"SOD框架"对Oracle的CodeFirst支持

一、Oracle XE 数据库与连接工具安装使用 Oracle数据库历来以价格昂贵出名,当然贵有贵的道理,成为一个Oracle DBA也是令人羡慕的事情,如果程...

3917
来自专栏乐沙弥的世界

Percona XtraDB Cluster 集群参数配置说明(PXC 5.7)

从PXC5.7版本开始,集群的配置主要是通过wsrep.cnf配置来实现。这个文件有几个常用的参数配置。下文对其做简要说明。

881
来自专栏hbbliyong

attempt to write a readonly database错误的解决(C#,SQLite)

  今天打包WPF程序,安装后总是打不开,查看监控日志原来是SQLite的问题,报错如图 ? 当向SQLite数据库中存入新纪录时总是显示attempt to ...

4976
来自专栏个人分享

Hive操作表部分总结

create table tableName(time INT,userid BIGINT,url STRING,ip STRING COMMENT 'IP A...

1392
来自专栏13blog.site

Spring+SpringMVC+MyBatis+easyUI整合优化篇(七)图片上传功能

前言 前一篇文章《Spring+SpringMVC+MyBatis+easyUI整合优化篇(六)easyUI与富文本编辑器UEditor整合》讲了富文本编辑器U...

3284

扫码关注云+社区