- 浏览: 182079 次
- 性别:
- 来自: 青岛
文章分类
- 全部博客 (117)
- java基础知识 (17)
- 技术积攒 (9)
- Oracle技术 (4)
- JSP技术 (6)
- Spring技术 (15)
- Linux技术 (6)
- Hibernate技术 (24)
- JPA技术 (1)
- Struts技术 (1)
- Struts2技术 (6)
- javascript知识 (4)
- myeclipse 使用技巧 (3)
- JavaEE技术 (2)
- JSTL (1)
- javamail技术 (1)
- jaf 技术 (1)
- 测试方法 (1)
- web技术积攒 (1)
- tomcat事项 (5)
- mysql使用 (1)
- 趣味题目 (2)
- 技术词汇 (1)
- EJB3.0 (2)
- weblogic 使用说明 (1)
- CSS (1)
最新评论
-
chenhao_java:
知识点五:依赖注入-自动装配依赖对象 -
黑白配:
为什么没有看见三个附件呢?
JavaMail jsp发送邮件 html格式 -
chunchong:
真晕,这样怎么能行呢
JAVA中防止SQL注入攻击类的源代码 -
Rod_johnson:
学习了!真不错
Hibernate:类继承的实现方式(二)--父子类各自一个表 -
erchong2011:
恩 很不错 学习了 简单
jsp页面自动跳转方式
Hibernate对多对一有两种,分为单向和双向。一般都是采用双向
映射文件:
测试
public class User1 { private int id; private String name; private Department department; public Department getDepartment() { return department; } public void setDepartment(Department department) { this.department = department; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
public class Department { private Integer id; private String name; private Set<User1> users; public Set<User1> getUsers() { return users; } public void setUsers(Set<User1> users) { this.users = users; } public Department(){} public Department(String name) { this.name = name; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
映射文件:
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.itcast.hibernate.domain"> <class name="User1" table="user1"> <id name="id" unsaved-value="-1"> <generator class="native" /> </id> <property name="name"/> <many-to-one name="department" column="deptid"/> </class> </hibernate-mapping>
<?xml version="1.0"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.itcast.hibernate.domain"> <class name="Department" table="Department"> <id name="id" unsaved-value="-1"> <generator class="native" /> </id> <property name="name"/> <set name="users"> <key column="deptid"/> <one-to-many class="User1"/> </set> </class> </hibernate-mapping>
测试
import java.util.HashSet; import java.util.Set; import org.hibernate.Session; import org.hibernate.Transaction; import cn.itcast.hibernate.HibernateUtil; import cn.itcast.hibernate.domain.Department; import cn.itcast.hibernate.domain.User1; public class ManyToOneTest { public static void main(String[] args) { Session session = null; Transaction tx = null; /* try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); Department department = new Department("研发部"); User1 user1 = new User1(); user1.setName("小新"); user1.setDepartment(department); session.save(department); session.save(user1); tx.commit(); } catch (HibernateException e) { if (tx!=null) { tx.rollback(); } e.printStackTrace(); }finally{ if (session!=null) { session.close(); } }*/ /* //获得 try { session = HibernateUtil.getSession(); User1 user1 = (User1)session.get(User1.class, 5); System.out.println(user1.getName()); Department department = user1.getDepartment(); System.out.println(department.getName()); session.close(); } catch (Exception e) { e.printStackTrace(); }*/ try { session = HibernateUtil.getSession(); tx = session.beginTransaction(); //新建几个用户 User1 usera = new User1(); usera.setName("一号"); User1 userb = new User1(); userb.setName("二号"); Set<User1> users = new HashSet<User1>(); users.add(usera); users.add(userb); //新建部门 Department department = new Department("业务部"); department.setUsers(users); session.save(department); session.save(usera); session.save(userb); tx.commit(); } catch (Exception e) { e.printStackTrace(); } } }
发表评论
-
关于Hibernate一个配置参数hibernate.hbm2ddl.auto
2010-03-02 08:43 1126<?xml version="1.0" ... -
Hibernate 复合主键
2009-09-25 09:13 1548[zt]hibernate复合主键 key words:hi ... -
映射文件class元素的dymanic-insert和dymanic-update的作用
2009-06-05 09:36 886SQL update语句是预先生成的,如果加上dynamic的 ... -
hibernate的各种保存方式的区别
2009-06-05 08:59 638hibernate的保存 hibernate对于对象的保存提供 ... -
Hibernate:缓存设置
2009-06-04 16:38 989缓存是介于应用程序 ... -
one-to-many的懒加载及原理分析
2009-06-04 14:42 884如果是一对多,多对一,甚至是多对多那效率就差别大了!!如果一对 ... -
one-to-one的懒加载及原理分析
2009-06-04 13:57 987Lazy=”” :告诉hibernate什么时候抓取 1 fa ... -
load方法的懒加载及原理分析
2009-06-04 11:09 1787懒加载: load方法与get ... -
Hibernate:类继承的实现方式(四)--每个具体类映射一张独立表
2009-06-04 10:58 993这种方式会把继承链的所有类保持到数据库中单独的表中,而且标语表 ... -
Hibernate:类继承的实现方式(三)--鉴别器与内连接相结合
2009-06-04 10:49 1089当子类中有的有很多自己特有的属性,而部分子类有较少的自己的属性 ... -
Hibernate:类继承的实现方式(二)--父子类各自一个表
2009-06-04 10:41 1359将继承链中的各个类映射到数据库中的一个单独的表中 domai ... -
Hibernate:类继承的实现方式(一)--父子类在同一个表中
2009-06-04 10:19 1864Hibernate对继承关系的对象的处理分为多种形式: 第一 ... -
cascade和inverse
2009-06-04 09:10 1328Cascade与inverse这两个属性都用于一对多或者多对多 ... -
关联关系的级联操作
2009-06-03 17:17 829Cascade和inverse (Employee-Depar ... -
POJO对象与映射文件 : 集合映射
2009-06-03 15:36 1223集合属性大致有两种:第一种是单纯的集合属性,如像 List、S ... -
关联关系的总结
2009-06-03 14:50 741查询的时候出现sql语句的条数: Hibernate查询输出 ... -
将一个对象(组件)作为属性,但是不想建立这个表
2009-06-03 14:38 792如果对象的某个属性为一个对象,而且不想单独对该对象建立一个表, ... -
Hibernate:多对多
2009-06-03 14:10 1033Hibernate处理多对多的情况,在操作和性能方面都不太理想 ... -
Hibernate:一对一(2)
2009-06-03 11:11 777Hibernate处理一对一的另外一种方式是:将多对一加上唯一 ... -
Hibernate:一对一(1)
2009-06-03 10:40 778Hibernate中一对一关联两种处理方式之一:参照表主键参照 ...
相关推荐
一共有三个分卷。全部下载才能解压。 这本书不错,值得一看。
精通Hibernate:Java对象持久化技术详解(第2版)源码精通Hibernate:Java对象持久化技术详解(第2版)源码
Hibernate学习:单向多对一关联 工程
测试实现的功能: 一对一新增 一对多新增 多对多新增 多对多删除 乐观锁 一级缓存,二级缓存,读写并发 query 查询一级缓存 Criteria--基于条件查询 dao 实现测试
该ppt是根据孙老师的精通Hibernate一书学习总结的,使用hibernate3.x版本,提及部分与2.x中的不同之处(难免有不足之处,望大家指正)
(本人另一个上传资源里面也有 精通HibernateJava对象持久化技术详解(第2版)jar文件.zip) annotations-api.jar antlr-2.7.6.jar catalina-ant.jar catalina-ha.jar catalina-tribes.jar catalina.jar commons-...
Hibernate一对一,一对多,多对多实例
官网hibernate:问题说明: 1、安装整合通过; 2、整合时注意javassist-3.22.0-GA.jar与struts2.4的 javassist-3.20.0-GA.jar重复; 3、整合所需基础包以及整合需要的外部包,自己放到一个新建文件夹中,方便大家...
Hibernate关于注解的一对多,多对多,一对一案例。。。。
Hibernate的多对一和一对多操作实例
精通 Hibern一本ate:Java 对象持久化技术详解(第2版)是
这里包含了hibernate多对一单向关联关系实现源码,希望对你有用。
加入了hibernate框架的javaWeb项目,里面包含了一对多的典型配置
hibernate 一对多和多对一的理解 自己的个人看法 大家也来看看
hibernate实例(一对多,多对一)hibernate实例(一对多,多对一)hibernate实例(一对多,多对一)
hibernate基于 一对多、多对一映射写的一个增加,查询,删除,修改的demo,内附数据库脚本
hibernate一对多案例,里边用到的jar包我上传过
Hibernate级联操作一对多demo Hibernate级联操作一对多demo Hibernate级联操作一对多demo
用Hibernate实现数据库表的一对一,一对多,多对多设置,以及向数据库添加数据