`
huakaile
  • 浏览: 63145 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
// jsp <%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="GB18030"%> <%@ page import="com.bjsxt.registration.service.*"%> <%@ page import="com.bjsxt.registration.model.*"%> <% String path = request.getC ...
// model import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.EnumType; import javax.persistence.Enumerated; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.Transient; @Entity pub ...
1、hibernate抓取策略(单端代理的批量抓取)(抓取当前对象关联实体或集合):保持默认,同fetch="select",如:<many-to-one name="classes" column="classesid" fetch="select"/>                  fetch="select",另外发送一条select语句抓取当前对象关联实体或集合 2、hibernate抓取策略(单端代理的批量抓取):设置fetch="join",如: ...
1)hibernate一级缓存:一级缓存很短和session的生命周期一致,一级缓存也叫session级的缓存或事务级缓存 那些方法支持一级缓存:            * get()           * load()            * iterate(查询实体对象) 如何管理一级缓存:(一级缓存无法取消)           * session.clear(),session.evict() 如何避免一次性大量的实体数据入库导致内存溢出            * 先flush,再clear 如果数据量特别大,考虑采用jdbc实现,如果jdbc也不能满足要求可 ...
在hql中关键字不区分大小写,但是属性和实体类名区分大小写 1、简单属性查询【重要】            * 单一属性查询,返回结果集属性列表,元素类型和实体类中相应的属性类型一致            * 多个属性查询,返回的 ...
// model import java.util.Set; public class Node { // 标识符 private int id; // 节点名称 private String name; // 层次 private int level; // 是否叶子节点 private boolean leaf; // 父节点 * --- 1 private Node parent; // 一的一端 // 子节点 1 --- * private Set<Node> children; // 多的一端 ...
1、悲观锁(处理并行问题):悲观锁的实现,通常依赖于数据库机制,在整个过程中将数据锁定,其它任何用户都不能读取或修改//model public class Inventory { private int itemNo; private String itemName; private int quantity; public int getItemNo() { return itemNo; } public void setItemNo(int itemNo) { this.itemNo = itemNo; } publ ...
1、component(组件)映射:在hibernate中,component是某个实体的逻辑组成部分,它与实体的根本区别是没有oid,component可以成为是值对象(DDD)         采用component映射的好处:它实现了对象模型的细粒度划分,层次会更分明,复用率会更高//model public class Contact { private String email; private String address; private String zipCode; private String contactTel; pub ...
每棵继承树映射成一张表 1、理解如何映射                因为类继承树肯定是对应多个类,要把多个类的信息存放在一张表中,必须有某种机制来区分哪些记录是属于哪个类的。这种机制就是,在表中添加一个字段,用这个字段的值来进行区分。用hibernate实现这种策略的时候,有如下步骤:1)父类用普通的<class>标签定义、2) 在父类中定义一个discriminator,即指定这个区分的字段的名称和类型,如:<discriminator column=”XXX” type=”string”/>、3)子类使用<subclass>标签定义,在定义subcl ...
hibernate lazy策略可以使用在:            * <class>标签上,可以取值:true/false           * <property>标签上,可以取值:true/false需要类增强工具            * <set><list>标签上,可以取值:true/false/extra           * <one-to-one><many-to-one>单端关联上,可以取值:false/proxy/noproxy lazy概念:只有真正使用该对象时,才会创建,对于hibe ...
hibernate多对多关联映射(单向User---->Role) 具体映射方式:<set name="roles" table="t_user_role"> <key column="userid"/> <many-to-many class="com.bjsxt.hibernate.Role" column="roleid"/> </set>import java.util.Set; public class User ...
hihernate一对多关联映射(单向Classes----->Student) 一对多关联映射利用了多对一关联映射原理 多对一关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是多指向一(当加载多的一端时可以加载一的一端) 一对多关联映射:在多的一端加入一个外键指向一的一端,它维护的关系是一指向多(当加载一的一端时可以加载多的一端) 也就是说一对多和多对一的映射策略是一样的,只是站的角度不同 在一的一端维护关系的缺点:            * 如果将t_student表里的classesid字段设置为非空,则无法保存            * 因为不是在studen ...
session flush测试: session flush方法主要做了两件事:            * 清理缓存            * 执行sql session在什么情况下执行flush           * 默认在事务提交时           * 显示的调用flush           * 在执行查询前,如:iterate hibernate按照save(insert),update、delete顺序提交相关操作 import java.util.Date; public class User1 { private String id; ...
hibernate一对一唯一外键关联映射(单向关联Person---->IdCard)(是多对一的特例,只是限制了多的一端) 一对唯一外键关联映射是多对一关联映射的特例 可以采用<many-to-one>标签,指定多的一端的unique=true,这样就限制了多的一端的多重性为一 通过这种手段映射一对一唯一外键关联// annotation映射 import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; impor ...
hibernate一对一主键关联映射(单向关联Person---->IdCard) 一对一主键关联映射:让两个实体对象的id保持相同,这样可以避免多余的字段被创建 具体映射: <id name="id"> <!-- person的主键来源idCard,也就是共享idCard的主键 --> <generator class="foreign"> <param name="property">idCard</param> < ...
Global site tag (gtag.js) - Google Analytics