- 浏览: 238970 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (205)
- jQuery (27)
- Flash AS3.0 (0)
- Html5+CSS3 (12)
- C# .Net (19)
- Xml XPath XSLT (5)
- Sql (3)
- JavaScript (20)
- struts2 (23)
- hibernate (24)
- spring (11)
- j2ee (16)
- jsp/java (11)
- 设计模式 (5)
- json (3)
- Java.IO (7)
- Java.Util (7)
- android (8)
- WebService (10)
- MyEclipse SVN (3)
- servlet (1)
- Exception (3)
- 自我学习 (2)
- UML (2)
- java泛型 (1)
- Lucene (7)
- HtmlParser (2)
- 概念理解 (3)
- 正则表达式 (1)
- EMail (1)
最新评论
-
hanmiao:
没用,干巴巴的壹堆代码,没明白到底区别在哪里。
List Set Map 区别! -
e421083458:
偶来过了!
C#单向链表的实现
package com.secn.user;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.Test;
//在多的一端来维护表
public class SecnTest {
@Test
public void danxiangtianjia(){ //单行多对一
new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
NewsSort newsSort = new NewsSort();
newsSort.setSortName("news FenLei");
News news = new News();
news.setNewName("Li Lian Jie");
news.setNewsSort(newsSort);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
session.save(news);
//System.out.println(newsSort.getSortName());
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
public void shuangxiangtianjia(){ //双向多对一
//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
News news1 = new News();
news1.setNewName("Li Lian Jie");
News news2 = new News();
news2.setNewName("Li Xiao Long");
NewsSort newsSort = new NewsSort();
newsSort.setSortName("news FenLei");
newsSort.getNews().add(news1);
newsSort.getNews().add(news2);
news1.setNewsSort(newsSort);
news2.setNewsSort(newsSort);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
session.save(newsSort);
System.out.println(newsSort.getSortName());
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
public void getNews(){ //读取记录
//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
//@ManyToOne(cascade={CascadeType.ALL})
//cascade:只真对增删改;
//默认情况下也会地取出NewsSort的信息
News news = (News)session.get(News.class, 1);
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
public void GetNewsSort(){ //读取分类
//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
//默认情况下不会读取出News表的内容
//可以通过fetch=FetchType.EAGER(渴望|勤快)LAZY(懒惰)读取出来
NewsSort newsSort = (NewsSort)session.get(NewsSort.class, 1);
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
public void getLoad(){ //读取记录
//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
//@ManyToOne(cascade={CascadeType.ALL})
//cascade:只真对增删改;
//默认情况下也会地取出NewsSort的信息
//读新闻时默认不会读出新闻对应分类
News news = (News)session.load(News.class, 1);
System.out.println(news.getNewName());//在这一行调用时才会执行SQL语句
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
public void getUpdateNews(){ //读取记录
//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
//@ManyToOne(cascade={CascadeType.ALL})
//cascade:只真对增删改;
//默认情况下也会地取出NewsSort的信息
//在分类和新闻中不要都设计fetch=FetchType.EAGER属性
News news = (News)session.load(News.class, 1);
System.out.println(news.getNewsSort().getSortName());//在这一行调用时才会执行SQL语句
session.getTransaction().commit();
session.close();
sf.close();
}
}
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.AnnotationConfiguration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
import org.junit.Test;
//在多的一端来维护表
public class SecnTest {
@Test
public void danxiangtianjia(){ //单行多对一
new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
NewsSort newsSort = new NewsSort();
newsSort.setSortName("news FenLei");
News news = new News();
news.setNewName("Li Lian Jie");
news.setNewsSort(newsSort);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
session.save(news);
//System.out.println(newsSort.getSortName());
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
public void shuangxiangtianjia(){ //双向多对一
//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
News news1 = new News();
news1.setNewName("Li Lian Jie");
News news2 = new News();
news2.setNewName("Li Xiao Long");
NewsSort newsSort = new NewsSort();
newsSort.setSortName("news FenLei");
newsSort.getNews().add(news1);
newsSort.getNews().add(news2);
news1.setNewsSort(newsSort);
news2.setNewsSort(newsSort);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
session.save(newsSort);
System.out.println(newsSort.getSortName());
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
public void getNews(){ //读取记录
//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
//@ManyToOne(cascade={CascadeType.ALL})
//cascade:只真对增删改;
//默认情况下也会地取出NewsSort的信息
News news = (News)session.get(News.class, 1);
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
public void GetNewsSort(){ //读取分类
//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
//默认情况下不会读取出News表的内容
//可以通过fetch=FetchType.EAGER(渴望|勤快)LAZY(懒惰)读取出来
NewsSort newsSort = (NewsSort)session.get(NewsSort.class, 1);
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
public void getLoad(){ //读取记录
//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
//@ManyToOne(cascade={CascadeType.ALL})
//cascade:只真对增删改;
//默认情况下也会地取出NewsSort的信息
//读新闻时默认不会读出新闻对应分类
News news = (News)session.load(News.class, 1);
System.out.println(news.getNewName());//在这一行调用时才会执行SQL语句
session.getTransaction().commit();
session.close();
sf.close();
}
@Test
public void getUpdateNews(){ //读取记录
//new SchemaExport(new AnnotationConfiguration().configure()).create(false, true);
SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory();
Session session = sf.openSession();
session.beginTransaction();
//@ManyToOne(cascade={CascadeType.ALL})
//cascade:只真对增删改;
//默认情况下也会地取出NewsSort的信息
//在分类和新闻中不要都设计fetch=FetchType.EAGER属性
News news = (News)session.load(News.class, 1);
System.out.println(news.getNewsSort().getSortName());//在这一行调用时才会执行SQL语句
session.getTransaction().commit();
session.close();
sf.close();
}
}
发表评论
-
java的枚举的定义和使用
2012-01-12 23:29 1131public emun EmunName { w ... -
常用SQL语句
2011-12-31 11:33 622MySql分组查询语句: from Share as s ... -
hibernate对映射xml的一对多的双向关联详解
2011-12-18 00:15 841<?xml version="1.0" ... -
getHibernateTemplate().execute(new HibernateCallback())方法
2011-12-14 09:43 4211. HibernateCallback是一个 ... -
Java企业级开发SSH三大框架的Jar包
2011-12-06 18:39 912123 -
struts spring hibernate配置文件
2011-10-24 21:24 912ApplicationContext ctx = new Cl ... -
Annotation的关联关系
2011-10-19 23:22 649一对一、一对多、多对多、组合映射、主键关系 的单向和双向 ... -
hibernate 名词解释
2011-10-18 23:20 722JPA是一个标准(接口),hibernate只是一个实现 先有 ... -
Junit测试文件
2011-10-18 22:19 792package com.bjsxt.hibernate; ... -
log4j.properties
2011-10-18 22:00 684### direct log messages to stdo ... -
Hibernate的Hql
2011-09-23 21:58 1084Hibernate 查询语言 NativeSQL(不执行跨平台 ... -
Hibernate关系映射
2011-09-22 22:14 622关系映射: 对象之间的关系 一对一(单向和双向) Annont ... -
Hibenrate一对多和多对多
2011-09-20 23:18 307... -
Hibernate联合主键
2011-09-20 22:35 748package com.bjsxt.hibernate; i ... -
Hibernate一对一的关联关系
2011-09-20 22:30 643... -
Hbernate一对一单向关系(Annotation)
2011-09-20 21:54 673package com.bjsxt.hibernate.mod ... -
Load()和Get()的区别和update用法
2011-09-20 20:03 935Load(Teacher.Class,1); Teacher. ... -
Configuration_SessionFactory_GetCurrentSession_OpenSession以及Hibernate中的三种状态
2011-09-19 21:55 728SessionFactory sf = new Configu ... -
常用的hiberante中xml的ID生成策略
2011-09-19 21:09 1109hiberante的xml生成策略: 策略一般是指:1. 可以 ... -
hibernate Annotation版本持久化实体类
2011-09-18 01:16 705package com.bjsxt.hibernate; ...
相关推荐
Hibernate级联操作一对多demo Hibernate级联操作一对多demo Hibernate级联操作一对多demo
Hibernate的级联操作(增,删,该)
Hibernate级联操作.docx
hibernate 的基础 常用的主键生成策略 持久化对象的三种状态 一级缓存的常用操作(save/update/saveOrUpdate/delete)一对多关联映射 级联操作
用Struts2+Spring+Hibernate三大框架完成的级联操作,包括省市县和年月日
Hibernate 与数据库中的触发器协同工作时, 会造成两类问题 1、触发器使 Session 的缓存中的持久化对象与数据库中对应的数据不一致:触发器运行在数据库中, 它执行的操作对 Session 是透明的 Session 的 解决...
struts2 hibernate 实现无限级联 树形分类 基于struts2 hibernate 技术,实现对无限级联分类的crud操作
这个小项目使用jsf+richfaces+hiberante设计,作为学习jsf和hibernate的新手学习参考.里面由基本上有常规项目所需一般功能:比如ajax.分页.hibernate级联操作等等
struts2 spring jpa操作数据库 级联数据 hibernate
Hibernate级联操作对象的关系属性: 映射文件中设置: 1. Cascade a) none b) Save-update 当使用session的api对当前对象进行save,update操作时,对它的关系属性也进行save或者update c) Delete d) All = delete ...
10_传智播客JPA详解_JPA中的一对多双向关联与级联操作.rar
详解Hibernate cascade级联属性的CascadeType的用法 cascade(级联) ...cascade表示级联操作,在hibernate配置注解@OneToOne,@OneToMany,@ManyToMany,@ManyToOne中的属性。 例如: @ManyToOne(c
Struts2+Hibernate写的下拉菜单级联两级分类,不带JRA包,自己下载吧,
Hibernate 练习题 关于一些级联操作的练习题 映射
该项目为一个整合hibernate与struts,利用json对象存放临时数据库数据,连接数据的三级...Struts.xml:主要亮点在配置一个多变级联时防止加载多个表的操作,从而达到解决多表级联操作的时候经常出现的session已关闭的bug
基于Struts 2+Hibernate实现员工管理系统。一个单位有多个部门,每个部门有多名员工,每个员工只属于一...基于该要求,实现员工和部门的管理(包括添加、查询、删除和修改等操作),并且要实现部门与员工之间的级联操作。
详细讲解了hibernate 的多对一xml配置以及curd操作,讲解了级联操作,适合初学者学习
本人在厦门邦初培训时候用的ppt 快速入门文档 内容: 建立一对多的关联关系域模型 建立一对多的参照关系的模型 映射一对多关联关系 通过hibernateAPI级联操作关联对象 其它关系的映射:一对一,多对多
在上一篇的项目基础上,添加了多对多的级联操作,和操作中间表