hibernate在写数据库配置文件时非常的不确定,必须进行必要的测试保证数据库结构的正确性。所以可以应用junit进行测试。
使用junit非常简单,eclipse只需要右键项目新建一个junit test case即可(填写类名和包名)。然后在对应位置写对应的代码运行测试即可。
下面给出一个常用的hibernate测试框架:
package com.atguigu.hibernate.e...
分类:
系统相关 时间:
2014-06-03 00:05:35
阅读次数:
449
详见 笔记文档
=Spring整合Hibernate需要注意的几点:声明式的事务管理当有runtimeexcetion的时候回滚。HibernateTransactionManager是一个aspect切面。事务传输机制
propagationPROPAGATION_REQUIRED:支持当前事务,...
分类:
编程语言 时间:
2014-06-02 21:51:10
阅读次数:
349
域模型
关系数据模型:
按照外键映射:
按照主键映射:
基于外键映射的 1-1
对于基于外键的1-1关联,其外键可以存放在任意一边,在需要存放外键一端,增加many-to-one元素。为many-to-one元素增加unique=“true” 属性来表示为1-1关联
另一端需要使用one-to-one元素,该元素使用...
分类:
系统相关 时间:
2014-06-01 16:20:13
阅读次数:
508
双向 1-n 与 双向 n-1 是完全相同的两种情形双向 1-n 需要在 1 的一端可以访问 n 的一端, 反之依然.域模型:从 Order 到 Customer 的多对一双向关联需要在Order 类中定义一个 Customer 属性, 而在 Customer 类中需定义存放 Order 对象的集合属性
关系数据模型:ORDERS 表中的 CUSTOMER_ID 参照 CUSTOMER 表的...
分类:
系统相关 时间:
2014-06-01 15:45:52
阅读次数:
397
inverse 属性
在hibernate中通过对 inverse 属性的来决定是由双向关联的哪一方来维护表和表之间的关系. inverse = false 的为主动方,inverse = true 的为被动方, 由主动方负责维护关联关系在没有设置 inverse=true 的情况下,父子两边都维护父子关系 在 1-n 关系中,将 n 方设为主控方将有助于性能改善(如果要国家元首记住全国...
分类:
系统相关 时间:
2014-06-01 15:41:41
阅读次数:
360
Session 概述
Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法.
Session 具有一个缓存, 位于缓存中的对象称为持久化对象, 它和数据库中的相关记录对应. Session 能够在某些时间点, 按照缓存中对象的变化来执行相关的 SQL 语句, 来同步更新数据库, 这一过程被称为刷新...
分类:
系统相关 时间:
2014-06-01 10:43:16
阅读次数:
311
POJO 类和数据库的映射文件*.hbm.xml
POJO类和关系数据库之间的映射可以用一个XML文档来定义。
映射文件的扩展名为.hbm.xml
在运行时Hibernate将根据这个映射文件来生成各种SQL语句
通过POJO类的数据库映射文件,Hibernate可以理解持久化类和数据表之间的对应关系,也可以理解持久化类属性与数据库表列之间的对应关系
...
分类:
系统相关 时间:
2014-06-01 08:59:00
阅读次数:
436
在 Java 中, 代表时间和日期的类型包括: java.util.Date 和 java.util.Calendar. 此外, 在 JDBC API 中还提供了 3 个扩展了 java.util.Date 类的子类: java.sql.Date, java.sql.Time 和 java.sql.Timestamp, 这三个类分别和标准 SQL 类型中的 DATE, TIME 和 TIMESTA...
分类:
编程语言 时间:
2014-06-01 08:22:49
阅读次数:
364
Hibernate 使用JPA 对于映射有3种规则可以配置:DefaultNamingStrategy,ImprovedNamingStrategy,EJB3NamingStrategy
这里只说ImprovedNamingStrategy,其他自行看Hibernate代码,ImprovedNamingStrategy的代码如下,是一个singleton instance:
/*
...
分类:
系统相关 时间:
2014-05-31 23:26:36
阅读次数:
627
基本知识:
在 Java 中, java.lang.String 可用于表示长字符串(长度超过 255), 字节数组 byte[] 可用于存放图片或文件的二进制数据. 此外, 在 JDBC API 中还提供了 java.sql.Clob 和 java.sql.Blob 类型, 它们分别和标准 SQL 中的 CLOB 和 BLOB 类型对应. CLOB 表示字符串大对象(Character...
分类:
系统相关 时间:
2014-05-31 23:03:24
阅读次数:
574