
Hibernate
文章平均质量分 77
lmy86263
这个作者很懒,什么都没留下…
展开
-
Hibernate 学习笔记(1):入门
Hibernate虽说比较好用,但是内容也是太多了,之前看到别人拿他和mybatis相比,确实从结构上来说,mybatis确实比较简单,上手也比较容易,但是没有hibernate自动化程度高,再加上之前接手的项目都是用这个框架写的,所以自然而然。。一、 认识HibernateHibernate是一个ORM框架,对于ORM应该每个人都很熟了,就不赘述了。之前hibernate是一个包的,但是原创 2016-03-24 15:10:46 · 831 阅读 · 0 评论 -
Hibernate中日期类型字段的映射策略
在Hibernate中映射日期类型的数据是比较麻烦的一件事,因为除了有SQL定义的标准的日期类型,还有各个数据库厂商的自定义类型。这里暂时只考虑三种各个数据库厂商都基本支持的数据类型,如下:Date:该类型对应Java中的java.sql.Date类型;Time:该类型对应Java中的java.sql.Time类型Timestamp:该类型对应Java中的java.sql.Timestamp类原创 2016-06-29 17:54:31 · 5644 阅读 · 0 评论 -
Hibernate中@Embedded和@Embeddable注解的使用
在使用实体类生成对应的数据库表时,很多的时候都会遇到这种情况:在一个实体类中引用另外的实体类,一般遇上这种情况,我们使用@OneToOne、@OneToMany、@ManyToOne、@ManyToMany这4个注解比较多,但是好奇害死猫,除了这四个有没有别的使用情况,尤其是一个实体类要在多个不同的实体类中进行使用,而本身又不需要独立生成一个数据库表,这就是需要`@Embedded`、`@Embeddable`的时候原创 2016-08-03 22:20:27 · 38218 阅读 · 6 评论 -
Hibernate中实体映射时的命名策略(1)
有时候在实体类映射成数据库表时,我们并不太注意生成的表和列的名称,都是使用默认的名称策略,有的是干脆不使用`@Column`注解,直接使用字段名;有的则在`@Column`注解中使用`name`属性定义自己的名称,但是有时候比如说设计一个数据库有统一前缀或者后缀,上面两种方式就不适用了,而需要统一的设计命名策略,本篇文章对这部分进行总结!原创 2016-09-23 17:44:50 · 11395 阅读 · 0 评论 -
Hibernate中枚举Enum类型的映射策略
在Java中`Enum`是一种“奇葩”的存在,“奇葩”不代表没用,对于这种比较特殊的存在,hibernate会有很多种选择来完成Enum类型字段的映射,首先要说明的是在hibernate都是把`Enum`类型的字段映射成基本类型的字段,并且我这里不使用任何配置文件来配置映射,而是统一使用注解这种方式来完成映射。原创 2016-09-24 15:23:36 · 22052 阅读 · 8 评论 -
Hibernate结合MySQL数据库生成数据表失败分析
作为一个成熟的ORM框架,Hibernate对不同的数据库的支持可以说非常完美,但是在生成数据库的过程中还是会遇到各种各样的问题,今天在做数据表映射的时候,发现无法生成数据表,具体的开发环境如下:原创 2017-03-23 21:38:45 · 713 阅读 · 0 评论 -
Hibernate中实体映射时的命名策略(2)
在Hibernate 5.x中,Hibernate将实体名称映射到数据库中时,将这个过程分成两个步骤:第一个阶段是从对象模型中提取一个合适的逻辑名称,这个逻辑名称可以由用户指定,通过@Column和@Table等注解完成,也可以通过被Hibernate的ImplicitNamingStrategy指定;第二个阶段是将上述的逻辑名称解析成物理名称,物理名称是由Hibernate中的Physical原创 2017-04-03 22:23:29 · 14758 阅读 · 1 评论 -
Hibernate针对Java基本类型字段的映射策略总结
本文使用的数据库测试环境为: MySQL:Windows 10x64 5.7.12-log SQL Server:Windows 10x64 SQL Server 2012 Oracle:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 由于工程需要支持多种数据库,原创 2017-04-29 13:49:24 · 1406 阅读 · 0 评论 -
Hibernate的hbm2ddl.auto=update的内幕
在使用Hibernate的时候我们一般都会配置hibernate.hbm2ddl.auto这个属性,而其中的常见的属性值包括:createcreate-dropvalidateupdate而在使用的过程中,update是我用的比较多的,由于官方文档对于这个属性产生的效果和使用的范围没有做详细的说明,只是提了一句会会更新数据库的schema,而且不建议在生产环境中使用,但是怎么更新,更新都包原创 2017-05-06 21:47:39 · 14000 阅读 · 1 评论