随笔分类 - Hibernate
摘要:因为数据库中有个 Date类型的数据,在从数据库中获取数据【就是getXxx方法,当然,自动装配的时候可以直接写在字段上,但也只是针对getXxx方法,不会自动赋值】的时候可以利用这个 @Temporal的注解进行自动格式化。 @Temporal 注解的取值只有三种,如下图: 如果某个实体类的字段包
阅读全文
摘要:主键生成策略大致分两种: 手工控制策略 自动生成策略【框架自动生成和数据库自动生成】 手工控制策略: assigned:类型是任意的,需要在 save() 到数据库前,编码人员手工设置主键值,也就是调用对象的 setter方法进行赋值操作。 注:可以跨数据库,但是手动控制不能保证不重复,不推荐使用。 自动生成策略: 1 . uuid:自动生成 32 位及以上的随机字符串,生成的依据包括...
阅读全文
摘要:Spring 注解式注册 bean: 大致分为以下几步: 开启 context 空间支持 开启自动扫描功能,指定扫描包路径 使用注解配置 bean (使用@Component 注解) 给 bean 注入属性(基本类型和引用类型) 设置 bean 的生命周期 设置 bean 的作用域(默认为单例) 详细: 1 . 开启 context 空间支持 2 . 开启自动扫描功能,指定...
阅读全文
摘要:之所以要写这个,是因为最近碰到了一个延迟加载的 load() 导致出现 noSession 的异常。 下面第三种方式解决这个问题需要用到一个本地线程的对象,也就是 ThreadLocal 类,之前写过关于这个对象,可以看这个博客【本地线程 ThreadLocal 类】 提一嘴 get 和 load 的区别:【详细可以查看这篇博客 load() 和 get() 的区别】 1.get() 采用立即加...
阅读全文
摘要:get 和 load 方式都是是根据 id 取得一个记录。下边详细说一下 get 和 load 的不同,因为有些时候为了对比也会把 find 加进来。 1.从返回结果上对比: load 方式检索不到的话会抛出 org.hibernate.ObjectNotFoundException 异常get 方法检索不到的话会返回 null 2.从检索执行机制上对比: get 方法和 find 方法都是直...
阅读全文
摘要:Hibernate 的关联关系的配置: 一对一外键约束: 举例子是一个丈夫和妻子:【一个丈夫只能有一位妻子】 表结构: 妻子表中有个外键,是丈夫的 uuid,所以称丈夫类为主方,妻子类为从放。 在 Model 中: 下面是我实现的 Hibernate 的 Dao 层: Spring 为整合 Hibe
阅读全文
摘要:刚刚开始的时候觉得这个快照区很难理解,在网上看了很多博客之后,开始明白了。我是结合 ADO.NET 理解的,在ADO.NET 中有一个类, 叫 SqlCommandBuilder,在我看来,他就是 ADO.NET 中和 Hibernate 快照区对应的东西,这个 SqlCommandBuilder
阅读全文