`
文章列表
    一对多关联映射利用了多对一关联映射的原理。 多对一关联映射:在多的一端加入一个外键指向一的一端,但是维护的关系是多指向一的一端。 一对多关联映射:在多的一端加入一个外键指向一的一端,但是维护的关系是一指向多的一端。 两者映射策略是一样的,只是站的角度不同。   Hibernate一对多映射(class--àstudent单向): 一般用set集合,set里面的内容不可重复。也可以用别的集合。   在一的一端维护关系的缺点:
  Session  flush: 默认在commit之前执行flush。 Session  flush方法主要做了两件事            1清理缓存            2 执行sql Session flush 在什么时候执行:            1 默认在事务提交commit时            2, 显示调用。      3 在执行查询前,如 iterate。 hibernate按照save(insert),update
  Hibernate一对一唯一外键关联: 就是多对一的特列,把外键设置成unique为true。 采用<many-to-one name="idCard" unique="true"/>     单向: Person.hbm.xml <hibernate-mapping> <class name="com.bjsxt.hibernate.Person" table="t_person">            <id name="i ...
  Hibernate一对一主键关联: 1,单向主键关联:person--------》idCard     Person的主键id作为一个外键参照idCard的主键id。键值都是一样的。 让两个实体的主键id保持相同,这样避免多余字段被创建。 Person.hbm.xml: <hibernate-mapping>          <class name="com.bjsxt.hibernate.Person" table="t_person">                    <id na ...
  Hibernate 多对一映射:   关联映射本质:          *将关联关系映射到数据库。所谓关联关系就是对象模型在内存中的一个或者多个引用。   Many-to-one: *在多的一段加上一个外键指向一的一端。 理解级联的含义:          *是对象的连锁反应。 User映射关系配置: <hibernate-mapping>          <class name="com.bjsxt.hibernate.User" table="t_user">                ...
  Hibernate基本映射: 实体类—映射—表。 实体类普通属性—映射—表字段。 采用<class>标签映射数据库表。 采用<property>标签映射表字段。 普通属性指的是:不包括自定义类,数组,集合等。 如果实体类和实体类中的属性和sql中的关键字重复,必须采用table或者column重新命名。 实体类的设计原则: 1,  实现一个默认的(无参数的)构造方法。 2,  提供一个标识属性(可选)。
  1.瞬时状态(Transient) 由new命令开辟内存空间的Java对象,也就是平时所熟悉的普通Java对象。 如:Student stu = new Student(); 瞬时对象特点: (1)不和Session实例关联 (2)在数据库中没有和瞬时对象关
  JNDI:java名称和目录接口。主要是管理对象的,特别是ejb应用,会把所有的ejb应用都放到JNDI这颗树上。就像电话簿一样,一个人的姓名对应一个电话。一个友好字符串对应一个实例。Tomcat连接池也是采用这种方式来做的。会把连接池对象注册到这棵树上,以后拿这个串就可以了。 采用JNDI的好处:1,对象可以统一管理。2,不依赖于具体的实现,采用lookup查找,解决耦合。 JDBC:本地事务,只对一个数据库起作用。如果跨数据库或其他资源,jdbc事务无法实现。 JTA:JAVA事务api,全局事务,实现了两阶段提交协议。第一阶段,把日志记录下来,失败了会根据日志回滚,第二阶段 ...
  第一个hibernate项目, Hibernate中文“冬眠”,我们将对象保存到数据库的这个行为比喻成对象的冬眠。 Hibernate优点:提高生产力(不用开发枯燥的jdbc),开发更对象化,移植性(自动生成针对不同厂家的sql---方言),支持透明持久化(轻量级),没有侵入性。 Hibernate 弱点,不适用的情况:1,批量操作;2,需要使用数据库的特定优化机制,因为sql是由hibernate控制生成的,个人无法控制。 Hibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。对于以数据为中心的程序来说,它们往往只在数据库中使用存储过程来实现商业逻 ...
Global site tag (gtag.js) - Google Analytics