Hibernate
恒奇恒毅
Javaer
展开
-
跟着汤阳光同志做一个OA系统(十):论坛管理模块、上移下移功能
实现上移下移功能,通过在实体中添加一个position字段1:查询的时候orderbyposition 通过复写findAll方法 @Override public List findAll() { return getSession().createQuery(// "FROM Forumf OR原创 2015-12-10 08:41:13 · 1167 阅读 · 0 评论 -
Hibernate:cascade属性
转载 2015-12-07 08:02:11 · 284 阅读 · 0 评论 -
Hibernate:不适合的地方
l不适合OLAP(On-Line Analytical Processing联机分析处理),以查询分析数据为主的系统;适合OLTP(on-line transaction processing联机事务处理)。l对于些关系模型设计不合理的老系统,也不能发挥hibernate优势。OIDl数据量巨大,性能要求苛刻的系统,hibernate也很难达到要求,批量操作数据的效率也不高。转载 2015-12-07 08:24:10 · 331 阅读 · 1 评论 -
Hibernate:利用HibernateTools和ANT自动构建hibernate对象、映射文件、表之间的转换
虽然可以利用SchemaExpert手工创建三者之间的关系,但是可以利用HibernateTools和ANT自动构建hibernate对象、映射文件、表之间的转换,实现自动化和复用。转载 2015-12-07 08:29:29 · 386 阅读 · 0 评论 -
Hibernate:缓存
转载 2015-12-07 08:30:52 · 241 阅读 · 0 评论 -
Hibernate:乐观锁和悲观锁
转载 2015-12-07 08:38:19 · 266 阅读 · 1 评论 -
Hibernate:Java、Hibernate、SQL类型之间的关系
转载 2015-12-07 08:39:24 · 271 阅读 · 1 评论 -
Hibernate:联合主键
转载 2015-12-07 08:40:42 · 273 阅读 · 0 评论 -
Hibernate:主要的API
Configuration 配置 configure() configure(String resource) addResource(String resource) 导入一个指定位置的映射文件 addClass(Class clazz) 导入与指定类同一个包中的以类名为前缀,后缀为.hbm.xml的映射文件转载 2015-12-07 08:43:51 · 357 阅读 · 0 评论 -
Hibernate:主配置文件
1,配置的key前面的hibernate.前缀 可以有,也可以没有。如hibernate.dialect或dialect都可以。2,按作用可分为三类: 1,数据库信息 方言、JdbcUrl、驱动、用户名、密码 2,导入映射文件 3,其他配置 二级缓存配置转载 2015-12-07 08:45:28 · 327 阅读 · 0 评论 -
Hibernate:集合映射
类型 Java中声明 映射元素 --------------------------------- Set Set List List Map Map 数组 ...[]转载 2015-12-07 08:48:17 · 305 阅读 · 0 评论 -
Hibernate:Query接口中list和iterator区别
extra策略:与 lazy=“true” 类似. 主要区别是增强延迟检索策略能进一步延迟 Customer 对象的 orders 集合代理实例的初始化时机:• 当程序第一次访问 orders 属性的 iterator() 方法时, 会导致 orders 集合代理类实例的初始化• 当程序第一次访问 order 属性的 size(), contains() 和 isEmpty转载 2015-12-07 08:35:33 · 1589 阅读 · 0 评论 -
Hibernate:Session详解
session概述Session 接口是 Hibernate 向应用程序提供的操纵对数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载Java 对象的方法.理解session的缓存l 在 Session 接口的实现中包含一系列的 Java 集合, 这些 Java 集合构成了 Session 缓存. 只要 Session 实例没有结束生命周期, 存放在它缓存中的对象也不会转载 2015-12-07 08:04:37 · 436 阅读 · 0 评论 -
Hibernate:HQL详解
public class App { private static SessionFactory sessionFactory = new Configuration()// .configure()// .addClass(Department.class)// 添加Hibernate实体类(加载对应的映射文件)转载 2015-12-07 08:55:39 · 345 阅读 · 0 评论 -
Hibernate:5种检索方式
HQL(Hibernate Query Language) 是面向对象的查询语言, 它和 SQL 查询语言有些相似. 在 Hibernate 提供的各种检索方式中, HQL 是使用最广的一种检索方式. 它有如下功能:l 在查询语句中设定各种查询条件l 支持投影查询, 即仅检索出对象的部分属性l 支持分页查询l 支持连接查询l 支持分组查询, 允许使用 HAVI转载 2015-12-07 08:14:29 · 1921 阅读 · 0 评论 -
SSHJ:Spring整合Struts2、Hibernate、JBPM4
一,集成 Spring 与 Hibernate 1,配置SessionFactory 1,配置 ---------------------- applicationContext.xml ------------------------转载 2015-12-09 08:20:57 · 545 阅读 · 0 评论 -
Hibernate:入门及与JDBC优劣比较
JDBC优点 直接底层操作,提供了很简单、便捷的访问数据库的方法,跨平台性比较强。灵活性比较强,可以写很复杂的SQL语句。支持连接池。JDBC缺点 因为JAVA是面向对象的,JDBC没有做到使数据能够面向对象的编程,使程序员的思考仍停留在SQL语句上。操作比较繁琐, 很多代码需要重复写很多次,在trycatch之间徘徊。 如果遇到批量操作转载 2015-12-01 09:07:30 · 4513 阅读 · 1 评论 -
Hibernate:常见错误释义
要解释hibernate的错误,就必须完全了解hibernate的执行流程,和他需要的一些信息(主要就是一些配置文件)在hibernate内部,不知道Person是一个持久化类 错误之一:在hibernate.cfg.xml文件中,没有把person的映射文件加进去错误原因: 表不存在 根据持久化类和映射文件没有建立表 在hibernate.c转载 2015-12-01 12:06:15 · 504 阅读 · 0 评论 -
Hibernate:对象的状态
持久化对象有3种状态:持久化状态临时状态 游离状态Session 的特定方法能使对象从一个状态转换到另一个状态临时对象(transient)• 在使用代理主键的情况下, OID 通常为 null• 不处于 Session 的缓存中• 在数据库中没有对应的记录持久化对象(也叫”托管”)(Persist)• OID 不为 nu转载 2015-12-01 11:58:50 · 329 阅读 · 0 评论 -
跟着汤阳光同志做一个OA系统(六):系统管理、实体映射、类图设计
@实现一组功能的步骤1,充分了解需求,包括所有的细节,需要知道要做一个什么样的功能2,设计实体/表• 正向工程:实体à映射文件à建表• 反向工程:建表 à映射文件à实体3,分析功能• 分析到每个请求的粒度。• 得到的结果是我们需要处理多少种请求,其中每种请求对应一个Action方法,如此就能写Action了。4,实现功能:• 1,创建Acti原创 2015-12-10 08:27:02 · 1894 阅读 · 0 评论 -
跟着汤阳光同志做一个OA系统(七):树形处理(递归)
显示树形部门练习package com.xsy.oa.test; import java.util.ArrayList;import java.util.Collection;import java.util.LinkedHashSet;import java.util.List;import java.util.Set; import org.junit.Te原创 2015-12-10 08:30:49 · 1115 阅读 · 0 评论 -
跟着汤阳光同志做一个OA系统(八):抽取页面公共部分、提取BaseAction、ModelDriven支持、Service和DAO合并、BaseAction中Service声明、非常好的增删改查流程
@一些改进:页面公共部分可以合并通过includefile="/WEB-INF/jsp/public/commons.jspf"%>这个页面中,下面两句话都是可以包含的,因为@include先合并再解析 page language="java"import="java.util.*"pageEncoding="utf-8"%> taglib prefix原创 2015-12-10 08:35:45 · 1737 阅读 · 0 评论 -
跟着汤阳光同志做一个OA系统(十二):通用的分页实现、HQL生成器QueryHelper
======================= 本页的数据列表 ======================== ...======================= 分页信息 ========================页次:${pageNow}/${pageCount}页 每页显示:${pageSize}条 总记录数:${recordCo原创 2015-12-10 08:46:10 · 2051 阅读 · 2 评论 -
跟着汤阳光同志做一个OA系统(十一):论坛模块、实体的特殊属性、CKEditor
/** 普通帖 */ publicstaticfinalintTYPE_NORMAL = 0; /**精华帖 */ publicstaticfinalintTYPE_BEST = 1; /**置顶帖 */ publicstaticfinalintTYPE_TOP = 2; public List findBy原创 2015-12-10 08:43:02 · 996 阅读 · 0 评论 -
跟着汤阳光同志做一个OA系统(九):权限模块
权限: 控制功能的使用 Web应用中的权限:l 权限就是控制功能的使用(功能对应着URL)。l 对功能的控制就是对URL的访问控制。l 在我们的程序中,一个功能对应一个或两个URL:• 1,例如列表或删除功能,只对应一个URL.• 2,例如添加或修改功能,对应两个URL:..add, ..addUI 权限方案:原创 2015-12-10 08:37:00 · 1676 阅读 · 1 评论 -
跟着汤阳光同志做一个OA系统(五):Struts2的整体回顾
(Action、拦截器、值栈、OGNL表达式、ModelDriven方案等)对于一个请求,struts2主要进行了三个步骤(拦截器、Action、Result),拦截器中创建和初始化ValueStack(创建:包括map和stack,map有put(k,v)和get(k)操作,stack有push(obj)和pop操作;初始化:将request、session、applicat原创 2015-12-10 08:22:51 · 1619 阅读 · 0 评论 -
跟着汤阳光同志做一个OA系统(二):OA系统整体设计及约定、搭建环境
OA系统整体设计及约定一、分层 3层((View+Action)+(Service+Dao)),每一层相对独立,达到解耦和的目的,可以轻松地替换掉某一层。 View JSP/serlvet/action ↓ Service 接口/实现类原创 2015-12-10 08:08:51 · 3291 阅读 · 1 评论 -
跟着汤阳光同志做一个OA系统(三):设计DAO
一个项目中会有N多实体,每个实体对应有一些CRUD操作,使用DAO模式将他们封装起来,如下所示:User, UserDaosave(User user), update(), delete(), find(), ...Role, RoleDaosave(Role role), update(), delete(), find(), ...Student, StudentDaosave(原创 2015-12-10 08:17:29 · 1375 阅读 · 0 评论 -
跟着汤阳光同志做一个OA系统(一):OA项目简介、软件开发环节介绍
无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。OA简介一、什么是OA?l OA是Office Automation的缩写,OA系统是处理组织内部的事务性工作、辅助管理、提高办公效率的系统。二、OA中有什么功能?l 日常工...原创 2015-12-10 08:06:02 · 14207 阅读 · 1 评论 -
跟着汤阳光同志做一个OA系统(四):第一个增删改查(岗位管理)
设计实体—》JavaBean—》hbm.xml—》建表,当然还可以反过来做。在生成sessionFactory的时候就会自动建表。1,设计实体/表 设计实体 -->JavaBean --> hbm.xml --> 建表2,分析有几个功能,对应几个请求。方式 请求数量 地址栏转发原创 2015-12-10 08:19:50 · 1463 阅读 · 0 评论 -
跟着汤阳光同志做一个OA系统(十三):文件上传下载细节、乱码解决
JSP页面中写的js代码传递参数的时候注意,如果是字符串必须加上单引号,因为EL表达式在服务端执行,解析后如果没加单引号就形成如下,这样显然执行会出错ahref="javascript: showProcessImage(${id})">查看流程图a>ahref="javascript:showProcessImage(hjdf)">查看流程图a>修改成如下之后就能正确执行了转载 2015-12-14 09:51:59 · 2113 阅读 · 0 评论 -
跟着汤阳光同志做一个OA项目(十四):审批流转约定与总流程和一些重要代码及最终的实体设计
审批流程: 第1个环节是“提交申请”,以后基本上都是“审批”环节。 约定: 1,第一个环节一定要是“提交申请”,并且办理人是当前登录的用户。 2,在JBPM中是使用一个字符串作为用户标识符,在ItcastOA中是User对象,不匹配。 可以使用User中一个不会有重复值的字段转为String转载 2015-12-14 10:21:18 · 3241 阅读 · 6 评论 -
Hibernate:Hibernate3.3和3.6的配置文件的头不一样
Hibernate3.3和3.6的配置文件的头不一样1,Hibernate 3.6.0 的XML的头: "-//Hibernate/HibernateConfiguration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">转载 2015-12-14 09:39:07 · 1303 阅读 · 0 评论 -
Hibernate:主键生成策略
表示符生成器 描述Increment由hibernate自动以递增的方式生成表识符,每次增量为1Identity由底层数据库生成表识符。条件是数据库支持自动增长数据类型。SequenceHibernate根据底层数据库序列生成标识符。条件是数据库支持序列。Native转载 2015-12-01 11:56:37 · 384 阅读 · 0 评论 -
SSH:准备项目环境
1,新建工程,类型为Web Project,设置默认编码为UTF-8,并创建如下文件夹 1,Source Folder 1,src 项目源码 2,config 配置文件 3,test 单元测试 2,普通文件夹 1,WebRoot/style css与图片等文件转载 2015-12-09 08:19:30 · 407 阅读 · 1 评论