down下来Hibernate3的源码看看,发现org.hibernate.hql.antlr包下是空的,看了文档(
A special package for ANTLR-generated parser classes.
NOTE: The classes in this package are generated from the ANTLR grammar files, do not register them into version control.
)才明白,原来他的代码是由Antlr产生的。按照要求
cd %hibernate_HOME%
java -cp ..\lib\antlr-2.7.5H3.jar antlr.Tool hql.g
java -cp ..\lib\antlr-2.7.5H3.jar antlr.Tool hql-sql.g
java -cp ..\lib\antlr-2.7.5H3.jar antlr.Tool sql-gen.g
分享到:
相关推荐
Hibernate在解析HQL生成SQL时需要的Java文件。压缩包里三个以.g为后缀的是规则文件,以.java为后缀的文件需要拷贝到Hibernate的源码org.hibernate.hql包下,便可运行
6. **antlr-*.jar**:ANTLR是一个强大的解析器生成器,Hibernate使用它来解析HQL(Hibernate Query Language)和JPQL(Java Persistence Query Language)。 7. **dom4j.jar**:DOM4J是一个用于处理XML的Java库,...
源码分析是理解任何软件系统工作原理的关键,对于Hibernate也不例外。当你下载并解压"hibernate框架源码",你将有机会深入到Hibernate的核心机制中,了解其实现的细节。例如,你可以看到Hibernate如何通过Session...
1. `antlr.jar`:Antlr是一个强大的解析工具,用于构建词法分析器、语法分析器和解析器,Hibernate使用它来处理HQL(Hibernate查询语言)和Criteria API。 2. `dom4j.jar`:这是一个Java文档对象模型库,Hibernate...
2. **cleanimports.jar**:这个jar包通常包含清理Java源代码中导入的工具,它可能不是Hibernate核心库的一部分,但在某些项目中,可能被用来优化源码的导入管理。 3. **cglib-2.2.jar**:CGLIB (Code Generation ...
ANTLR在这里可能是用于解析Hibernate的配置文件或HQL(Hibernate Query Language)查询。HQL是Hibernate提供的一个类似于SQL的语言,但它是面向对象的,可以直接操作持久化类。 在压缩包文件名称列表中,我们看到有...
然而,正如描述所提及的,Hibernate官网的某些包可能存在不完整的情况,比如“org.hibernate.hql.antlr”包中可能缺失了一些类文件。ANTLR(ANother Tool for Language Recognition)是一个强大的解析器生成器,用于...
阅读Hibernate源码可以帮助开发者理解ORM框架的设计原理,提升数据库操作效率,同时也能学习到如何设计高性能、可扩展的系统。例如,了解SessionFactory的生命周期管理,可以优化应用的启动性能;研究Session的缓存...
例如,`antlr-2.7.7.jar`是HQL解析器的一部分,用于处理HQL查询。 7. **元数据索引**:`jandex-1.1.0.Final.jar`是Hibernate使用的元数据索引库,它能快速检索JPA实体类的元数据,提高运行时性能。 8. **DOM4J解析...
6. antlr-2.7.6.jar:ANTLR是一个解析器生成器,用于构建解析器和词法分析器,可能在Hibernate中用于处理HQL或SQL语句。 7. cglib-nodep-2.1_3.jar 和 cglib-2.1.3.jar:这两者都是代码生成库,CGLib是用于创建子类...
- `antlr-2.7.6.jar` 提供了ANTLR解析器生成器,用于处理HQL和Criteria查询的语法解析。 - `log4j.jar` 是一个流行的日志记录框架,用于收集和管理应用的日志信息。 - `dom4j-1.6.1.jar` 是一个XML处理库,Hibernate...
- `antlr-2.7.7.jar`: 语法分析库,Hibernate使用它解析HQL语句。 - `dom4j-1.6.1.jar`: XML处理库,用于处理Hibernate的配置文件。 - `hibernate-ehcache-4.1.7.Final.jar`: Hibernate与EHCache的集成库,实现了二...
Hibernate使用ANTLR解析HQL(Hibernate查询语言)和JPQL(Java Persistence Query Language)。 4. `commons-collections-3.1.jar`: Apache Commons Collections是Apache软件基金会的一个项目,提供了大量对集合...
标题中的“integer with spring struts hibernate mybatis jpa”提到了几个关键的Java开发框架和技术,它们在构建企业级Web应用中起着至关重要的作用。让我们深入了解一下这些技术: 1. **Spring**:Spring 是一个...
`c3p0`是数据库连接池,`commons-collections`提供通用集合操作,`antlr`支持HQL解析,`hessian`用于远程方法调用,`log4j`提供日志服务,`cglib`用于动态代理,`commons-collections`则提供通用集合操作。...
此版本包含了对JPA(Java Persistence API)的实现,支持HQL(Hibernate Query Language)和 Criteria 查询,使得数据库交互更加便捷和灵活。 在提供的压缩包文件中,我们可以看到以下组件: 1. `hibernate3.jar` ...
10. **hibernate-cglib-repack-2.1_3.jar**:CGLIB是一个代码生成库,常用于Hibernate中,当无法获取类的源码或者不希望使用Java代理时,CGLIB会生成子类以实现动态代理。Hibernate使用它来创建实体类的代理对象,以...
Hibernate3 提供了强大的查询语言HQL和 Criteria API,允许开发者以对象的方式操作数据库,降低了SQL的直接使用。 4. **jQuery**: jQuery 是一个JavaScript库,它简化了DOM操作、事件处理、动画创建和Ajax交互。在...
- **antlr-2.7.7.jar**:ANTLR是一个解析器生成器,用于构建解析和生成代码,Hibernate的HQL解析可能用到了这个库。 - **com.springsource.net.sf.cglib-2.2.0.jar**:CGLIB是一个代码生成库,Spring用它来创建代理...