hibernate树状映射
摘要:例如公司的组织机构:一个公司可以有多个子公司,一个子公司子有多个部门。 其实就是一张表, 例子程序: Organization类: package com.oracle.hibernate; import java.util.HashSet; import java.util.Set; import
阅读全文
hibernate关联关系的crud2
摘要:hibernate关联关系的CRUD操作,解释都在注释里了,讲了fetchType、cascade。 User类: package com.oracle.hibernate; import javax.persistence.CascadeType; import javax.persistence
阅读全文
hibernate关联关系的crud之级联
摘要:cascade级联,只会影响CRUD的CUD,不会影响读取。不设置级联,从多的一方能读出一的一方,设了级联,从一的一方,默认也不能读出多的一方。 如果两个对象之间有关联,不管是一对多,多对一,单向还是双向,如果从A可以导向到B: A >B 默认情况下对A的保存不会影响到B,除非设cascade。如果
阅读全文
hibernate多对多双向关联
摘要:老师可以查看自己的学生,学生也可以查看自己的老师: 老师Teacher类: package com.oracle.hibernate; import java.util.HashSet; import java.util.Set; import javax.persistence.Entity; i
阅读全文
hibernate多对多单向关联
摘要:多对多单向,一个学生可以有多个老师,一个老师也可以教多个学生。老师可以找到他的学生,学生找不到教他的老师。老师类Teacher:package com.oracle.hibernate;import java.util.HashSet;import java.util.Set;import java...
阅读全文
hibernate一对多多对一双向
摘要:注意事项:一对多,多对一双向关联,在一的一方的多的getSet集合上的oneToMany上加上mappedBy。告诉hibernate由多的方一来维护关系。这也符合逻辑 ,本来外键就是在加在多的一方。 User类: package com.oracle.hibernate; import javax
阅读全文
hibernate多对一双向关联
摘要:多对一单向和一对多单向,在数据库的表现都是在多的一方加上一的外键 在类里的表现,一对多单向,是在一的一方加上多的引用,多对一单向,是在一的一方加上多的set集合。 User和Group,一个Group有多个User User: package com.oracle.hibernate; import
阅读全文
hibernate多对一单向关联注解方式
摘要:多对一单向关联,在多的一方加上一的一方作为外键。在程序里表现为:在多的一方加上一的引用。 小组类Group,用户User: Group: package com.oracle.hibernate; import javax.persistence.Entity; import javax.persi
阅读全文
hibernate组件映射
摘要:组件映射,一个类是另外一个类的一部分,比如学生证类是学生类的一部分,在表里的关系,学生证信息的学生表信息的一部分,此时就需要用组件映射, 本例中,wife是husband的一部分。 Wife类: package com.oracle.hibernate; /** * wife是husband的一部分
阅读全文
hibernate联合主键映射
摘要:联合主键用的不是很多,用的时候查到就是。 Wife里id和name联合做主键,需要新建一个主键类,WifePK,必须实现Serializable接口,重写hashcode、equals。 在Husband类里用Wife的id和name做外键关联。 Wife类: package com.oracle.
阅读全文
hibernate一对一双向外键关联
摘要:在Wife类里有Husband的引用,在Husband类里也有Wife类的引用。 Wife类: package com.oracle.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue
阅读全文
hibernate一对一单向外键关联
摘要:Husband类里有一个Wife类的引用 wife类: package com.oracle.hibernate; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persi
阅读全文
Spring整合Hibernate_数据源Datasource_dbcp连接池
摘要:1, Spring指定 datasource DataSource接口,在javax.sql包,里边有一个getConnection()方法。提供了标准化的取得连接的方式。只要实现了这个接口。Sun这个土鳖定的。 a) 参考文档,找dbcp.BasicDataSource (dbcp:databas
阅读全文
java_Proxy动态代理_AOP
摘要:讲了JDK里使用Proxy动态代理的机制,详细过程。 切面类TransactionHandler需要实现InvocationHaandler接口,实现它的invoke方法。 项目目录: User类代码: package com.oracle.model; public class User { pr
阅读全文
java反射机制_读取properties
摘要:代码: import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; /** * 反射特点: * 可以在运行期间,动态加载一个类进来,动态new一个对象 * 动态了解对象内部的结构,动态调用这
阅读全文
hibernate_Session接口_load_get
摘要:hibernate读取数据库内容,用 1,session.get(Class类型,主键); 立马发出sql语句。从数据库中取出值装到对象里去 2,session.load(Class类型,主键); 从数据库里取出一条记录,到内存里,转换成对应的对象。不发出sql语句,什么时候用对象的内容,什么时候发
阅读全文
hibernate对象三种状态
摘要:hibernate里对象有三种状态: 1,Transient 瞬时 :对象刚new出来,还没设id,设了其他值。 2,Persistent 持久:调用了save()、saveOrUpdate(),就变成Persistent,有id 3,Detached 脱管 : 当session close()完之
阅读全文
hibernate_SessionFactory_getCurrentSession_JTA简介
摘要:JTA:java transaction api java里所规定的一种管理事务的API 在另一篇播客我写到了,SessionFactory需要关注两个方法, 即: openSession 和 getCurrentSession i. openSession 每次都是新的,需要close ii. g
阅读全文
Hibernate核心开发接口_SessionFactory详解
摘要:SessionFactory: a) 用来产生和管理Session b)通常情况下每个应用只需要一个SessionFactory c)除非要访问多个数据库的情况 d) 关注两个方法即: openSession 和 getCurrentSession i. openSession 每次都是新的,需要c
阅读全文
hibernate核心开发接口_Configuration
摘要:AnnotationConfiguration继承自Configuration,这里以AnnotationConfiguration为例: new AnnotationConfiguration().configure().buildSessionFactory(); AnnotationConfi
阅读全文
Hibernate3.3.2_ID生成策略
摘要:1,xml生成id generator:常用四个:native、identity、sequence、uuid。 Annotation: 1,@GeneratedValue: a)自定义ID b)AUTO: i,默认:对mysql,使用auto_increment ii,对oracle使用hibern
阅读全文
Hibernate3.3.2_JUnit_BoforeClass不报异常的Bug处理
摘要:假如你把配置文件写错了,myeclipse竟然不报错,只说sf空指针。 <mapping class="com.oracle.hibernate.model."/> //或者你少写了.configure(),myeclipse也不报错 sf = new AnnotationConfiguration
阅读全文
JDK中ClassLoader的分类以及ClassLoader间的层次关系
摘要:几个常见的ClassLoader: bootstrap class loader: 最早启动的class loader,一般使用C语言,汇编语言,或是c++写的,用操作系统本地语言写的。这个class loader你动不了,也没有名字,打印出来是空值。 1,负责先把其他的class loader l
阅读全文
java动态加载机制
摘要:假设有一个class,ClassLoader首先把它load到内存里的code segment(内存里存放代码段的),站在ClassLoader的角度,内存里的一个一个的class就是一个一个的对象,这个对象就是xx.class,实际就是Class类的对象。Load完class,找到main函数开始
阅读全文