配置文件中映射元素详解
对象关系的映射是用一个XML文档来说明的。映射文档可以使用工具来生成,如XDoclet,Middlegen和AndroMDA等。下面从一个映射的例子开始讲解映射元素,映射文件的代码如下。
<?xml version="1.0"?><!--所有的XML映射文件都需要定义如下所示的DOCTYPE。Hibernate会先在它的类路径(classptah)中搜索DTD文件。--><!DOCTYPE hibernate-mappin ...
传统的SQL语言采用的是结构化的查询方法,而这种方法对于查询以对象形式存在的数据却无能为力。幸运的是,Hibernate为我们提供了一种语法类似于SQL的语言,Hibernate查询语言(HQL),和SQL不同的是,HQL是一种面向对象的查询语言,它可以查询以对象形式存在的数据。因此,本文就HQL如何工作以及如何使用HQL展开了深入的讨论。
SQL本身是非常强大的。当SQL的这种强大和处理面向对象数据的能力相结合时,就产生了HQL。和SQL一样 ...
说明: 这个手册只是为初学者制作的环境配置和快速开发的一些基本方法,为的是广大爱好者能快速上手,少走我走过的弯路,里面没有任何关于java模式和其他相关的说明。本人水平有限,也没有能力去讨论关于模式设计和开发细节的一些内容。 建议: 如果你还不清楚struts和hibernate的一些基本原理,希望能先去了解一下这方面的相关内容。 推荐: Hibernate中文手册》作者认为要学Hibernate看这个就足够了,里面几乎包括了所有的细节,不过可能不太适合快速入门。 地址:http://www.hibernate.org/hib_docs/v3/referen ...
在设置成assigned时报:ids for this class must be manually assigned before calling save():
在设置成native,sequence时同报:org.hibernate.exception.GenericJDBCException: could not get next sequence value
解决办法:
如果是assigned,就必须给id赋值,如果是native、increment就不用了;
如果用assigned的话程序里一定要自行设定主键,如果你数据库表id字段使用autoincrement话可以用nat ...
1、hql 里用的是 类名 属性名 而不是数据库的表名字段名
2、net.sf.hibernate.type.SerializationException: could not deserialize 错误,是因为 有int 的要变成 integer, 还有 serializable 的要变成 string, hbm.xml 文件是自动生成的 把 sqlserver 中的text 对应serializable 类型,int 类就对应 int
3、spring 中用(String) 强制转型时出错 An error occurred while parsing custom acti ...
例如:
从第2万条开始取出100条记录
代码:
Query q = session.createQuery("from Cat as c");
q.setFirstResult(20000);
q.setMaxResults(100);
List l = q.list();
那么Hibernate底层如何实现分页的呢?实际上Hibernate的查询定义在net.sf.hibernate.loader.Loader这个类里面,仔细阅读该类代码,就可以把问题彻底搞清楚。
Hibernate2.0.3的Loader源 ...
Hibernate一共包括了23个jar包,令人眼花缭乱。本文将详细讲解Hibernate每个jar包的作用,便于你在应用中根据自己的需要进行取舍。
下载Hibernate,例如2.0.3稳定版本,解压缩,可以看到一个hibernate2.jar和lib目录下有22个jar包:
hibernate2.jar:
Hibernate的库,没有什么可说的,必须使用的jar包
cglib-asm.jar:
CGLIB库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar包
dom4j.jar:
dom4j是一个Jav ...
Eclipse是目前非常流行的开发平台,开放扩展的架构让很多程序员找到了自己个性化的工作环境,Hibernate也是目前牛叉得不得了的框架,至少在EJB 3大行其道之前,它是我们在考虑OR映射时非常好的选择。本文主要介绍如何利用Hibernate Syn插件在Eclipse 3.0.1中快速的开发Hibernate应用程序,提高我们的工作效率。关于Hibernate框架的细节,本文不做过多的讨论,请参考相关资料,推荐《Hibernate in action》一书。
首先需要安装这个插件,Eclipse 3.0.1为我们提供了更加方便的插件管理方式,选择菜单“帮助?软件更新?查找并 ...
编辑映射文件
Hibernate Synchronizer一个主要引人之处是为映射文件提供的有专业水平的编辑器,你可以配置该编辑器,这样当你保存文件的时候,可以自动重新生成相应的数据对象,这只是你最后才会用到的功能。
即使不使用该插件的代码生成器,可能你还是会用这个编辑器。当你编辑影射文档时,它可以为映射文档中的元素提供智能完成功能,还有一个你可以操作的映射文档的大纲视图。
如果你从Developer's Notebook下载的源代码,然后想用该插件的映射文档编辑器来编辑该文件,需要耍一个小花招。在下载文件中,影射文档的扩展名是".hbm.xml",而该插件仅 ...
1.两种配置文件:
A.hibernate.cfg.xml和B.hibernate.properties
A中可含映射文件的配置,而B中hard codes加映射文件。
A.Configuration config=new Configuration().config();
B. Configuration config=new Configuration();
config.addClass(TUser.class);
2.你不必一定用hibernate.cfg.xml或hibernate.properties这两文件名,你也不一定非得把配置文件 ...
Hibernate和struts是当前市面上几个最流行的开源的库之一。它们很有效率,是程序员在开发Java企业应用,挑选几个竞争的库的首选。虽然它们经常被一起应用,但是Hibernate的设计目标并不是和Struts一起使用,而Struts在Hibernate诞生好多年之前就发布了。为了让它们在一起工作,仍然有很多挑战。这篇文章点明了Struts和Hibernate之间的一些鸿沟,尤其关系到面向对象建模方面。文章也描述了如何在两者间搭起桥梁,给出了一个基于扩展Struts的解决方案。所有的基于Struts和Hibernate构建的Web应用都能从这个通用的扩展中获益。
在Hibern ...
HQL: Hibernate查询语言 Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。
15.1. 大小写敏感性问题
除了Java类与属性的名称外,查询语句对大小写并不敏感。 所以 SeLeCT 与 sELEct 以及 SELECT 是相同的,但是 org.hibernate.eg.FOO 并不等价于 org.hibernate.eg.Foo 并且 foo.barSet 也不等价于 foo.BARSET。
本手 ...
Hibernate简介
Hibernate寓意:Let Java objects hibernate in the relational database.
Hibernate 是Java应用和关系数据库之间的桥梁,负责Java对象和关系数据库之间的映射的ORM中间件。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java开发人员可以随心所欲的使用对象编程思维来操纵数据库。简单的说就是:
1.封装了通过JDBC访问数据库操作。
2.向上层应用提供访问面向对象数据访问的API。
创建Hibe ...
其实Hibernate本身是个独立的框架,它不需要任何web server或application server的支持。然而,大多数的Hibernate入门介绍都加入了很多非Hibernate的东西,比如: Tomcat, Eclipse, Log4J,Struts, XDoclet, 甚至JBoss。这容易让人产生Hibernate复杂难懂的误解,特别是打击了初学者的积极性。
在这篇文章将不涉及Eclipse, log4j, Struts, Tomcat, XDoclet,和JBoss。本文的目的是演示一下Hibernate的安装过程以及最基本的功能,从而给初学者一个低得不能再 ...
Hibernate
Hibernate是一个免费的开源Java包,它使得与关系数据库打交道变得十分轻松,就像您的数据库中包含每天使用的普通Java对象一样,同时不必考虑如何把它们从神秘的数据库表中取出(或放回到数据库表中)。它解放了您,使您可以专注于应用程序的对象和功能,而不必担心如何保存它们或稍后如何找到它们。
大多数应用程序都需要处理数据。Java应用程序运行时,往往把数据封装为相互连接的对象网络,但是当程序结束时,这些对象就会消失在一团逻辑中,所以需要有一些保存它们的方法。有时候,甚至在编写应用程序之前,数据就已经存在了,所以需要有读入它们和将其表示为对象的方法。 ...
- 浏览: 94594 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
wenson
共 1 张
共 1 张
最新评论
-
我们是白领吗?
这是什么标准?个人净得?那可就不低了。
-- by fight_bird -
我们是白领吗?
郑州?五档 NO.1?
-- by Jerry . \ -
我们是白领吗?
老家有这么高的工资??? 我sun... 谁调查的??
-- by lordhong -
我们是白领吗?
应该更新了 使用了假新闻
-- by careprad -
java字符串转换器
有没有探测文字或文件编码的呢?
-- by spiritfrog






评论排行榜