- 浏览: 565626 次
文章分类
- 全部博客 (235)
- 数据库 (12)
- j2se (10)
- JQuery (2)
- 经验总结 (4)
- 防毒 (1)
- Struts (20)
- Spring (12)
- 项目 (3)
- 电脑维修项目 (1)
- Eclipse (2)
- JSP (13)
- mysql (5)
- Hibernate (54)
- ssh (1)
- 学习网站 (1)
- tomcat (9)
- servlet (24)
- java语言基础 (1)
- jbpm (1)
- linux (0)
- 技巧积累 (1)
- javaBean (2)
- 设计模式 (2)
- 实用的操作 (9)
- oracle (1)
- UML学习 (1)
- 版本控制 (1)
- 框架 (9)
- javaWeb基础 (13)
- c语言 (0)
- ant (0)
- 关于权限 (3)
- 真正开发有用 (5)
- javascript (2)
- 算法 (1)
- J2EE (1)
- junit (1)
最新评论
-
alleni123:
不错 一搜就搜到这个了
ssession和servletContext的比较 -
hua7381:
楼主,你真实帮了大忙了!!
万能乱码处理---url传中文 -
albrich:
1楼是正解
摘] 装了个Tomcat遇到的问题 -
JA_mcj:
ssession和servletContext的比较 -
haotw:
看了很有帮助,总算对hibernate的延迟加载有一定的了解了 ...
[转]hibernate延迟加载
域对象中,类之间存在四种关系,1关联,也就是类之间的引用关系,一对一,一对多,多对多,单向,双向。2 依赖,指的是类之间的访问关系,3 聚集,整体与部分的关系,部分类对象不能独立存在,4一般化,也就是继承关系 create table customer(id int auto_increment primary key,name varchar(20),homeprovince varchar(20),homeadrcity varchar(20), comprovince varchar(20),comadrcity varchar(20)); 建立关系数据模型的一个重要原则就是在不导致数据冗余的前提下,尽可能减少数据库表的数目以及他们之间的外键关联, 所以上面的sql语句并没有分成两张表来写,而是仅仅用了一张表。这样就避免了另外一张address表,并且查询的时候也不用外键关联了,但是如果还有一个employee也有address这样的情况下就需要去考虑把address给独立出来,要不就造成很大的数据冗余。但是域模型和数据模型是不通的出发点,域模型是有程序代码来组成,所以细化持久化类的粒度可以提高代码的可重用性, java 代码
所以在我们的域模型中,新建立了一个类address类,如下}其中address里面包括属性customer,customer里面增加两个属性分别为homeaddress和comaddress,这两个属性多时address类型,这样就相当于给customer类加了两个属性,而这两个属性分别代表两个组件,hibernate hbmxml里面配置如下 <component class="Address" name="homeaddress"> java 代码
上面这段就是业务逻辑,通过定义customer对象,给customer属性赋上相应的值,并对他保存,有上面可以看出address不具有oid,这是hibernate组件的一个重要特性,因为address没有oid,所以session不能单独保存更新删除,值类型,和实体类型最大的区别是前者不具有oid,不能单独持久化,虽然entity包里面多了address类,但是这个类可以说是customer类的辅助类,所以无需进行配置,如果配置了会给出异常 |
发表评论
-
多对多双项关联
2007-12-02 16:39 4067数据库中仍然是利用一个中间表 持久化类中,都各自包含对方的集合 ... -
多对多单项关联
2007-12-02 16:02 44801.多对多单项关联 在数据库中多对多的关系,表之间设置一个中间 ... -
一对一关联
2007-12-02 14:13 3621一对一的关联 分为外键关联和主键关联 外键关联:在关系模型的表 ... -
双向的多对一或者双向的一对多
2007-12-02 00:38 3557一对多或者多对一都是从一方来看, 双向是从两个方向来看 这个时 ... -
一对多的另一个问题
2007-12-02 00:19 3308如果email 的一方设置uid 不能为空的话回报错,所以需要 ... -
做一对多遇到的几个问题(单向)
2007-12-02 00:14 3261java 代码 public class Use ... -
多对一举例(单项的,从一个方向看)
2007-12-01 23:15 3624java 代码 public class Use ... -
hibernate多对一
2007-12-01 22:59 4249处理多对一的时候 感觉关系模型多对一和一对多是一样的 在域模型 ... -
[转]Hibernate中的outer-join(二):fetch
2007-12-01 22:49 4595... -
hibernate中集合排序
2007-12-01 18:49 3681set,map可以支持内存排序和数据库排序 List什么都不支 ... -
[转] hibernate中给集合排序的方法
2007-12-01 18:47 5755<iframe style="MARGIN ... -
[转]集合类型和结果集排序
2007-12-01 18:39 3481言归正传,Hibernate中的Collection类型分为有 ... -
[转]hibernate延迟加载
2007-12-01 18:22 5974hibernate 延迟加载问题探 ... -
[转]主键自动生成办法
2007-12-01 18:11 3405... -
[转]hibernate中的 bag--解释的太好了.
2007-12-01 17:25 20418Bag是集合,与Set不同的是,Bag允许重复的元素, 在Ja ... -
hibernate值类型集合映射之Map
2007-12-01 17:02 2891java 代码 public class Use ... -
hibernate值类型集合映射之List
2007-12-01 16:43 3301java 代码 public class Use ... -
值类型映射---Set(2)
2007-12-01 13:43 3103这里自定义Email类,set里面放的是 email 类,非 ... -
值类型映射---Set(1)
2007-12-01 13:20 3389这里介绍2种不同的域模型的设计, 一种是Set里面装Strin ... -
事务的作用
2007-12-01 12:41 4553事务的作用是为了防止修改数据库, 如果只是查询那么就没必要修改 ...
相关推荐
### Hibernate初级学习知识点详解 #### 一、Hibernate简介与ORM概念 - **ORM技术定义**:对象关系映射(Object/Relational Mapping, ORM)是一种编程技术,用于将对象模型与关系型数据库模型进行桥接。它使得开发...
Hibernate通过ORM(对象关系映射)技术将Java对象与数据库表对应起来,开发者可以通过操作对象就能完成对数据库的操作,无需编写繁琐的SQL语句。它还提供了缓存机制,提高了数据访问的效率。 学习SSH框架,你需要...
Hibernate是一个对象关系映射(ORM)工具,用于简化Java应用与数据库之间的交互。它通过映射Java类到数据库表,使得开发者可以使用面向对象的方式来操作数据库,避免了繁琐的SQL语句编写。Hibernate支持自动持久化...
在J2EE中,特别是与持久化相关的部分,如JPA(Java Persistence API)和Hibernate,映射关系指的是对象与数据库表之间的对应。ORM(Object-Relational Mapping)技术使得Java对象可以直接操作数据库记录,简化了数据...
Hibernate是一个强大的ORM(对象关系映射)工具,它将数据库操作转化为对Java对象的操作,降低了数据访问的复杂性。Spring通过HibernateTemplate或SessionFactoryBean简化了Hibernate的配置和使用,使得事务管理更加...
Hibernate作为一款强大的对象关系映射(Object-Relational Mapping,ORM)框架,简化了数据库操作,使得开发人员能用Java对象来操作数据库,无需关心底层SQL语句。在社区卫生管理系统中,Hibernate可以实现居民健康...
2. **Hibernate**:Hibernate是一个开源的对象关系映射(ORM)框架,用于Java应用程序。在电子购物系统中,Hibernate简化了数据库操作,允许开发人员用面向对象的方式处理数据库事务,例如添加、更新和删除商品信息...
Struts框架负责控制流程,提供MVC(模型-视图-控制器)架构,而Hibernate作为ORM(对象关系映射)工具,简化了数据库操作,实现了数据层和业务层的解耦。\n\n4. **物业管理行业现状**:物业管理在中国虽然只有约20年...
Hibernate通过XML配置文件或注解定义对象与数据库表之间的映射,提供了一套API来进行增删改查操作。例如,`Product`类可以通过Hibernate自动映射到`products`表,开发者只需调用`session.save(product)`即可完成商品...
17. Flex与Hibernate整合:Hibernate是一个对象关系映射(ORM)工具,用于Java环境。Flex与Hibernate整合可以使得Flex应用程序能够与数据库进行交互,实现数据的持久化。 18. 版权声明:通常在教程或书籍中,作者会...
这可以通过角色-权限映射实现,例如在数据库中存储角色和权限关系,然后在后台检查用户角色对应的权限。 2. **删除操作**: - **数据库操作**:在JavaWeb中,我们通常使用JDBC(Java Database Connectivity)来...
在Java中,可能会用到如Hibernate或MyBatis这样的ORM(对象关系映射)框架,以便与数据库进行交互,如MySQL或PostgreSQL。 - **视图(View)**:JSP文件构成视图部分,负责呈现数据。开发者会在JSP页面中插入EL...
在实际开发中,开发者可能会使用Hibernate或MyBatis这样的ORM(对象关系映射)工具来简化与数据库的交互。 在【压缩包子文件的文件名称列表】中,我们只有一个文件名"addressbook",这可能是整个项目的主入口点,...
这层通常包含数据访问对象(DAO)和实体类,通过ORM(对象关系映射)框架,如Hibernate或Entity Framework,将数据模型与数据库表映射起来。 三层架构的优势在于其模块化和解耦特性,允许开发团队在不同层上独立...
同时,Hibernate作为持久层框架,可以方便地处理数据库操作,实现对象关系映射,降低数据库操作的复杂性。 在用户管理方面,系统通常会包含注册、登录、密码找回等功能。这部分需要设计合理的用户验证机制,确保...
同时,为了处理用户请求,系统可能采用ORM(对象关系映射)技术,如Hibernate,将数据库操作转化为面向对象的方式,简化编程。 六、错误处理与日志记录 为了确保系统的稳定运行,错误处理和日志记录是必不可少的。...
此外,也可能使用ORM(对象关系映射)框架如Hibernate或MyBatis,它们简化了数据库操作,使代码更易维护。 6. **HTTP请求处理**:Controller层通常负责接收和响应HTTP请求,学习如何使用Spring的@RequestMapping...