Hibernate
文章平均质量分 83
星晴coral
时光清浅,向爱则暖
展开
-
CURD
CURD是一个数据库技术中的缩写词,一般的项目开发的各种参数的基本功能都是CURD。它代表创建(Create)、更新(Update)、读取(Read)和删除(Delete)操作。原创 2013-05-03 12:16:54 · 907 阅读 · 0 评论 -
Hibernate之Query接口的uniqueResult()方法
如果查询返回多个值用list()方法public void testQuery(){ Configuration config = new Configuration().configure(); SessionFactory factory = config.buildSessionFactory(); //创建SessionFactory转载 2013-05-27 20:09:41 · 1698 阅读 · 0 评论 -
@SuppressWarnings(unchecked)作用解释
解释一: 屏蔽某些编译时的警告信息 在强制类型转换的时候编译器会给出警告 加上 程序代码 @SuppressWarnings("unchecked") 就不会警告了解释二:注释类型当你的编码可能存在警告时,比如安全警告,可以用它来消除api中是这样描述的指示应该在注释元素转载 2013-05-27 20:49:28 · 839 阅读 · 0 评论 -
hibernate集合映射
(1)java集合类 Collection:集合类最基本的接口 Set:无序不重复 HashSet List:有序可重复 Map:键可重复,值不可重复(2)A.Set B.List key:用于指定该集合体的外键list-index:用于定义数据库中保存集合中元素原创 2013-05-13 20:33:11 · 839 阅读 · 0 评论 -
hibernate主键生成策略generator
根据http://blog.csdn.net/imust_can/article/details/7101341修改得之主键生成器描述特点increment用于为 long, short 或者 int 类型生成 唯一标识。自动递增的,每次增量为1。只有在没有其他进程往同一张表中插入数据时才能使用。在集群下不要使用。原创 2013-05-13 15:47:54 · 940 阅读 · 0 评论 -
hibernate中一对一param named "property" is required for foreign id generation strategy错误
两个类Person、IdCardPerson:主键id private Integer id; private String name; private IdCard idCard;IdCard:主键id 外键id (此处的id即为Person里面的id) private Integer id; private Person person; private Date u原创 2013-05-12 15:14:37 · 2292 阅读 · 0 评论 -
myeclipse中出现 org.hibernate.MappingException: Unknown entity: cn.itcast.hibernate.domain.User
在Hibernate配置文件hibernate.cfg.xml中没有添加映射文件的位置举例:可以添加以下信息mapping resource="cn/itcast/hibernate/domain/User.hbm.xml"/>原创 2013-05-03 17:03:09 · 2315 阅读 · 0 评论 -
hibernate中inverse
从昨天到今天对inverse的理解一直是模模糊糊的,现在总算是有了粗略的理解。小小的纪念一下我对它的理解,算是对昨天和今天有个交代~inverse表“是否放弃维护关联关系”(在Java里两个对象产生关联时,对数据库表的影响),在one-to-many和many-to-many的集合定义中使用,inverse=”true”表示该对象不维护关联关系;在一对多关联中它必须是代表多(many)原创 2013-05-14 20:29:08 · 848 阅读 · 2 评论 -
java.lang.Long cannot be cast to java.lang.Integer
public int postAmount(){ int postAmount = 0; session = HibernateSessionFactory.getSession(); String hql = "select count(*) from Post"; query = session.createQuery(hql); postAmount = (Integer原创 2013-05-29 10:11:06 · 7561 阅读 · 1 评论 -
hibernate中one-to-one的foreign错误
此代码是:利用hibernate反向工程生成domain和domain的映射文件基于主键的1-1映射log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.%%%%原创 2013-05-21 21:07:53 · 1174 阅读 · 0 评论 -
hibernate缓存简介
1、缓存的概念缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能.2、Hibernate查询数据过程Hibernate在查询数据时,首先到缓存中去查找,如果找到就直接使用,找不到的时候就会从物理数据源中检索,所以,把频繁使用的数据加载到缓存区后,就可以大大减少应用程序对物理数据源的访问,使得程序的原创 2013-05-18 16:50:38 · 741 阅读 · 0 评论 -
使用MyEclipse可视化开发Hibernate实例(在myeclipse中搭建Hibernate)
2.7.1 设置MyEclipse连接Oracle数据库为在MyEclipse中设置连接Oracle数据库,在Eclipse中选择Window→Show View→Other→MyEclipse Database→DB Browser选项。右击DB Browser视图的空白部分,选择New选项,如图2 3所示。 图2 3 选择New选项转载 2013-05-06 14:46:32 · 1854 阅读 · 0 评论 -
Struts2+Hibernate整合应用开发步骤
步骤:1、使用myeclipse 配置Struts 2框架。2、使用myeclipse配置hibernate框架。3、使用myeclipse反向生成实体对象的方法,结合表之间的关系,创建数据表的实体对象,以及表的映射文件。3、创建相应的Action。4、编写JSP显示页面。步骤1,2,3在博客中有相应的说明,自行查看。具体细节及代码如下:(代码仅供参考)原创 2013-06-20 21:21:19 · 1444 阅读 · 0 评论 -
hibernate的学习(BBS论坛)
正在做BBS论坛开发项目。BBS论坛开发采用的是Struts 2+Hibernate开发模式,通过实现BBS论坛,来学习者两个框架的结合。 现希望能够好好的做这个项目。个人认为我需要做到以下几点: 1、写代码的时候要专心,不能三心二意。 2、做实事,遇到问题的时候不要抱怨,不要发牢骚。解决问题才是关键。 3、不能用小聪明,权宜之计解决原创 2013-05-26 04:07:44 · 1203 阅读 · 0 评论 -
Hibernate之Query接口的uniqueResult()方法
如果查询返回多个值用list()方法public void testQuery(){ Configuration config = new Configuration().configure(); SessionFactory factory = config.buildSessionFactory(); //创建SessionFactory原创 2013-06-18 15:03:06 · 1298 阅读 · 0 评论 -
hibernate query.list() 返回的数据类型
在hibernate中,用hql语句查询实体类,采用list方法的返回结果为一个List,该List中封装的对象分为以下三种情况: 1.查询全部字段的情况下,如“select count(*) from Admin a”,list中封装的对象为实体类本身,各属性都将得到填充。 2.只查询一个字段,如“select a.username from Admin a”,默认情转载 2013-06-21 13:30:54 · 2079 阅读 · 0 评论 -
hibernate悲观锁和乐观锁
悲观锁定:假定在任何时刻存取数据时,都可能有一个客户也正在存取同一笔数据,因而对数据采取了数据库层次的锁定状态,在锁定的时间内其他的客户不能对资料进行存取。乐观锁定:认为当前事务操作数据库资源时,很少或者不会有其他事务访问该数据资源,因此不能用数据级别上的锁定,完全依靠数据库的隔离级别来自动管理锁的工作。 对应用程序采取版本控制手段来避免可能出现的并发问题。原创 2013-05-21 18:04:12 · 682 阅读 · 0 评论 -
MyEclipse 报错Launching ASTFrame has encountered a problem
MyEclipse运行一个hibernate程序时弹出错误框:Launching ASTFrame has encountered a problem错误分析:有些从前做过的工程文件名也在里头,但是这些工程文件实施上已经被删去了。解决办法:单击工具栏Run图标右边的下拉箭头,Run As,选中自己的工程名终极解决办法:单击工具栏Run图标右边的下拉箭头,Run Configurations转载 2013-05-12 21:23:17 · 1583 阅读 · 0 评论 -
hibernate中constrained
constrained(约束)(可选)表明该类对应的表对应的数据库表,和被关联的对象所对应的数据库表之间,通过一个外键引用对主键进行约束。这个选项影响 save() 和 delete() 在级联执行时的先后顺序以及决定该关联能否被委托(也在 schema export tool 中被使用)。constrained默认值为falseconstrained只能在one-原创 2013-05-12 13:41:48 · 866 阅读 · 0 评论 -
hibernate内置校验器 之 required和requireding
一、概念required:必填校验器 该校验器要求指定字段必须有值(非null)。requireding:必填字符串校验器 该校验器要求字段值必须非空且长度大于0。即字段值不能为“”。二、举例 用户名不能为null! 用户名不能为空!原创 2013-05-26 17:48:34 · 1232 阅读 · 0 评论 -
hibernate-3.2.5各个包的作用
hibernate-3.2.5.zip解压以后其中doc文件:文档eg文件:例子etc文件:配置文件grammer文件:基本语法lib文件:hibernate依赖的第三方包src文件:hibernate源代码test文件:测试用例原创 2013-05-18 09:47:49 · 899 阅读 · 0 评论 -
hibernate中出现Exception in thread "main" java.lang.NoClassDefFoundError: com/opensymphony/oscache/base
运行hibernate程序出现如下错误:Exception in thread "main" java.lang.NoClassDefFoundError: com/opensymphony/oscache/base/Configat org.hibernate.cache.OSCacheProvider.(OSCacheProvider.java:33)at sun.reflect.原创 2013-05-18 10:48:49 · 2699 阅读 · 0 评论 -
hibernate的第一级缓存和第二级缓存
一、Hibernate第一级缓存save,update,saveOrUpdate,load,get,list,iterate,lock这些方法都会将对象放在一级缓存中,一级缓存不能控制缓存的数量,所以要注意大批量操作数据时可能造成内存溢出;evict,clear:方法清除缓存中的内容。二、Hibernate第二级缓存适合使用第二级缓存的情况①很少被修改的数据②不是很重要的数据,原创 2013-05-18 17:12:34 · 898 阅读 · 0 评论 -
Query和get(),load()区别
注释:该区别不够完整,仅供参考,来自传智播客视频Query和get(),load()查询的区别:Query:在查询时直接查询数据库get(),load():在查询时会查询缓存,当缓存中不存在数据时则进行查询数据库在使用的时候使用get()或者load()可以提高查询效率 Query q = s.createQuery("from User w原创 2013-05-20 15:06:47 · 2208 阅读 · 0 评论 -
hibernate The content of element type "session-factory" must match "(property*,mapping*,(class-cache
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.%%%% Error Creating SessionFactory %%%%org.hibernate.Mapp原创 2013-05-20 16:13:26 · 3263 阅读 · 0 评论 -
hibernate.cfg.xml
hibernate.cfg.xml可以由myeclipse反向工程自动生成,但是里面有些属性需要手动配置。现保留曾经配置的一个hibernate.cfg.xml文件,为以后留作参考。<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"原创 2013-05-20 21:28:00 · 764 阅读 · 0 评论 -
hibernate中如何输出sql语句
在hibernate.cfg.xml中添加:true举例:true大约在代码第24-25行位置<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/原创 2013-05-07 21:05:55 · 1077 阅读 · 0 评论 -
(**)hibernate中基于主键和基于外键的one-to-one
基于主键的单向 1-1 基于主键关联的持久化类不能拥有自己的主键生成器,它的主键由关联类负责生成。 one-to-one:必须为one-to-one元素增加constrained="true"属性,表明该类的主键由关联类生成 【要点】Person - IdCard idCard 基于外键的单向1-1 和N原创 2013-05-21 21:40:11 · 1865 阅读 · 0 评论 -
hibernate事务
事务的概念事务:指一个单元的工作,这些工作要么全做,要么全部不做。在Hibernate中使用事务Hibernate本身并不具备事务管理能力。Hibernate对JDBC进行了轻量级的封装。Hibernate将底层的JDBCTransaction和JTATransaction进行了封装,再在外面套上Transaction,其实是通过委托底层的JDBC或JTA来实现事务处理功能的。hi原创 2013-05-21 12:15:16 · 1074 阅读 · 0 评论 -
hibernate中save()和persist()
两者都是用来保存对象save() :开始事务和不开始事务,都可以进行保存对象。persist() :开始事务时,可以保存对象。不开始事务时,不可以保存对象。原创 2013-05-08 17:20:20 · 513 阅读 · 0 评论 -
hibernate中映射异常的一种
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.%%%% Error Creating SessionFactory %%%%org.hibernate.Inva原创 2013-05-22 14:35:07 · 1048 阅读 · 0 评论 -
hibernate实现分页
一、采用HQL语言(HQL分页)在HQL中实现分页非常方便,需要Query接口中的方法 Query q = session.createQuery("from Admin as a"); q.setFirstResult(1); //设置开始检索对象 q.setMaxResults(10); //设置每次检索返回的最大对象数 List l = q.list(); //返回结原创 2013-05-09 14:37:18 · 625 阅读 · 0 评论 -
hibernate中Cannot use identity column key generation with <union-subclass> mapping for错误
log4j:WARN No appenders could be found for logger (org.hibernate.cfg.Environment).log4j:WARN Please initialize the log4j system properly.%%%% Error Creating SessionFactory %%%%org.hibernate.Mapp原创 2013-05-23 12:03:17 · 3101 阅读 · 0 评论 -
Hibernate懒加载解析
在Hibernate框架中,当我们要访问的数据量过大时,明显用缓存不太合适, 因为内存容量有限 ,为了减少并发量,减少系统资源的消耗,这时Hibernate用懒加载机制来弥补这种缺陷,但是这只是弥补而不是用了懒加载总体性能就提高了。懒加载也被称为延迟加载,它在查询的时候不会立刻访问数据库,而是返回代理对象,当真正去使用对象的时候才会访问数据库。实现懒加载的前提 1、 实体类不能是fin转载 2013-05-24 12:07:51 · 4989 阅读 · 0 评论 -
hibernate.hbm2ddl.auto常用值
create:表示启动的时候先drop,再create create-drop: 也表示创建,只不过再系统关闭前执行一下drop update: 这个操作启动的时候会去检查schema是否一致,如果不一致会做scheme更新 validate: 启动时验证现有schema与你配置的hibernate是否一致,如果不一致就抛出异常,并不做更新原创 2013-05-10 21:18:36 · 585 阅读 · 0 评论 -
hibernate中<key>的属性介绍
<keycolumn="columnname"on-delete="noaction|cascade"property-ref="propertyName"not-null="true|false"update="true|false"unique="true|false"/>column(可选):外键字段的名称。也可以通过嵌套的 指定。on-delete(可选,默认是 no原创 2013-05-12 15:48:45 · 1282 阅读 · 0 评论 -
查BUG小记
此时此刻,要自己反省一下了。事由:事情发生在昨天晚上,我在写BBS论坛小项目里的修改个人信息这一模块,代码已经写好,等待测试。测试的结果:修改的个人信息无法保存到数据库里。思考:数据库连接成功了,不该是连接数据库的问题写代码的时候有一处loginUser参数没弄懂,难道是它的问题?几经查找,发现注册功能里用到了此参数,可以将数据保存到数据库里。看来也不是它的问题。那好吧,其原创 2013-05-30 03:47:56 · 771 阅读 · 0 评论