- 浏览: 543324 次
- 性别:
- 来自: 湖南娄底
文章分类
- 全部博客 (252)
- C#资料 (0)
- java资料 (22)
- 数据库资料 (0)
- Java :开发中遇到的问题 (4)
- 书写属于我的人生 (6)
- spring (6)
- hibernate (16)
- struts (17)
- SSH (5)
- Linux操作系统 (1)
- Ext (5)
- Jquery (9)
- Tomcat部署出错 (2)
- xml (5)
- JSON (5)
- javascript 专题 (5)
- 开发环境配置 (2)
- web 开发 (27)
- Eclipse (7)
- Integration (1)
- 解决方案搜罗 (7)
- 网站收藏 (8)
- 测试框架 (1)
- iframe 专题 (6)
- JSTL (2)
- 各种插件收集 (2)
- 权限设计模型探讨 (1)
- DWR (1)
- log4j (3)
- java (11)
- java 格式化 (1)
- 软件工程 (2)
- 乱码专题 (1)
- UML (4)
- java 设计模式 篇 (1)
- 用法收集 (0)
- sourceforge apache solutions (2)
- Struts2 + JPA + Spring 开发 (1)
- 自定义工具箱 (0)
- IDE (4)
- opencms (1)
- jeecms (1)
- ant (0)
- maven (2)
- 数据库连接池 (0)
- spring MVC (0)
- android (1)
- web-server (1)
- iphone-开发环境 (1)
- iphone-软件开发 (6)
- iPhone-软件设计 (1)
- iphone-应用 (3)
- iPhone-设置 (2)
- iphone-软件开发-设计模式篇 (0)
- iphone-软件开发-OC基础 (9)
- iphone-软件开发- UI篇 (9)
- iphone-软件开发-工具类篇 (1)
- iphone-软件开发-第三方篇 (0)
- iphone-软件开发-特效篇 (2)
- iphone-软件开发-动画篇 (1)
- oracle (1)
- Java-Security (0)
- Three20 UI (1)
- IOS-HOW-TO-专题 (1)
- Mark-Develope Issues (1)
- iphone-软件开发- 资料参考篇 (1)
- C 语言-基本语法 (0)
- Java Servlet (2)
- Eclipse optimization (1)
- IOS Basic (0)
- ecl (0)
- FRONT-HTML (0)
- FRONT-JS (0)
- PHP (0)
最新评论
-
qq_29862421:
[[color=brown]color=yellow][url ...
java 上传图片同时获得图片的宽和高 -
hhb19900618:
NSString <==> NSNumber 之前 ...
OC 常用数据类型之间的转换 -
baohuan_love:
果然能解决问题,感谢分享
Tomcat Error Page配置 与 Error Page在IE下不能转发的问题 -
唐丽梅6313:
很细致。。
键盘样式风格有关设置-iOS开发 -
olived:
哥哥,为什么我的没有破解成功,总是提示许可文件丢失!!QQ:3 ...
[软件测试解决方案] soapUI 4.0.1破解方法
Hibernate为了简化开发,给我们提供了四种工
具,hbm2java,hbm2ddl,XDoclet,Middlegen.其中我觉得hbm2java(根据映射文件生成JAVA源文
件),hbm2ddl(根据映射文件生成数据库文件,这两个工具非常实用.还有XDoclet(根据带有XDoclet标记的JAVA源文件生成映射文
件).Middlegen(根据数据库文件生成映射文件的工具也不错.不过我没怎么使用过.所以这里就不多说了.好了下面我们创建一个对象-关系映射文
件,来演示一下这两种工具的使用方法.首先创建我们的XML映射文件.这里命名为Demo.hbm.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 2.0//EN" "hibernate-mapping-2.0.dtd" >
<hibernate-mapping>
<class name="hibernate.Demo" table="DEMOS">
<meta attribute="class-description">ToolDemo</meta>
<meta attribute="class-scope">public</meta>
<id name="id" type="long" column="ID">
<meta attribute="scope-set">protected</meta>
<generator class="native"/>
</id>
<property name="name" type="string">
<meta attribute="finder-method">findByName</meta>
<meta attribute="use-in-tostring">true</meta>
<column name="NAME" length="15" not-null="true" unique="true"/>
</property>
<property name="registeredTime" type="timestamp">
<meta attribute="field-description">When the Demo</meta>
<meta attribute="use-in-tostring">true</meta>
<column name="REGISTERED_TIME" index="IDX_REGISTERED_TIME" sql-type="timestamp"/>
</property>
<property name="age" type="int">
<meta attribute="field-description">How old is the Demo</meta>
<meta attribute="use-in-tostring">true</meta>
<column name="AGE" check="AGE>10" not-null="true"/>
</property>
<property name="sex" column="SEX" type="char"></property>
<property name="married" type="boolean" column="IS_MARRIED">
<meta attribute="field-description">Is the Demo married</meta>
<meta attribute="use-in-tostring">true</meta>
</property>
<property name="description" type="string">
<meta attribute="use-in-tostring">true</meta>
<column name="DESCRIPTION" sql-type="text"/>
</property>
</class>
</hibernate-mapping>
解释下上面的XML文件,这里主要说明是的<meta>元素,用于精确的控制JAVA源文件的内容.
<meta attribute="class-description">ToolDemo</meta>这里是源文件类的注释,用于生成javadoc
<meta attribute="class-scope">public</meta>这个是类的修饰符
<meta attribute="extends">hibernate.Tool</meta>这里声明这个类继承于哪个类,这里是继承hibernate包下的Tool类
<meta attribute="field-description">Is the Demo married</meta>这个也是注释,是属性的注释,用于生成javadoc
<meta attribute="use-in-tostring">true</meta>这个是指定在类的toString()方法返回的字符串是否包含这个属性.
<meta attribute="scope-set">protected</meta>指定类的属性的get或set方法的修饰符,包括static public final privete等等
下面列出<meta>元素的所有属性的用法
class-description指定类的注释,javadoc
field-description指定类的属性的注释,javadoc
interface如果是true表示生成的就接口,不是类,默认是false
implements指定类要实现的接口
extends指定类要继承的类
generated-class重新生成类名
scope-class指定类的修饰复,默认的是public
scope-set设置set方法的修饰复,默认public
scope-get设置get方法的修饰复,默认public
scope-field设定类的属性的修饰复,默认public
use-in-tostring如果是true表示在类的toString()方法中包含这个属性
gen-property如果是false表示不会在类中生成这个属性,默认是true
finder-method设定find方法名
下面列出<column>元素的所有属性和用法
name设置表字段的名字
length设置表字段的长度
not-null如果是true说明字段不可以为null,默认是false
unique如果是true,设置字段唯一性约束,默认是false
index给一个字段或者多个字段建立索引
unique-key为多个字段设置唯一约束
freign-key为外键约束命名
sql-type设定字段的SQL类型
check设定SQL检查约束
基础知识就以上这些,记住就OK了hbm2ddl位于Hibernate软件包中,而hbm2java工具位于Hibernate的扩展包中,真不理解Hibernate为什么这么搞,弄的好是麻烦,一起用的两个工具要分开放在两个包里哎,好了废话不说,在www.hibernate.org
上可以下载到单独的Hibernate扩展包,hibernate-tools.jar放到我们的classpath下,然后创建build.xml用ant来运行这两个工具就OK了
发表评论
-
detached entity passed to persist异常解决
2012-04-21 15:48 0病理特征:Caused by: org.hibernat ... -
hibernate中inverse作用
2012-04-07 20:52 0inverse常用于一对多双向关联关系中。 以Student ... -
hibernate Restrictions用法
2012-04-07 19:31 0方法 说明 Restricti ... -
QBC Hibernate 多表查询
2012-04-07 19:30 01.java 实体对象 Java代码 ... -
Hibernate继承映射-多态关联
2012-04-07 19:24 0把类之间的继承关系反 ... -
hibernate - 10.12. 使用元数据
2012-04-07 11:32 949Hibernate中有一个非常丰富的元级别(meta-leve ... -
Hibernate <property>配置
2012-04-07 10:34 1309<property name="name&qu ... -
Hibernate锁机制 悲观锁和乐观锁
2012-04-01 18:21 11391、Pessimistic Locking 悲观锁 ... -
hibernate一级缓存和二级缓存的区别
2012-04-01 17:09 761缓存是介于应用程序 ... -
Hibernate的Fetch
2012-03-17 22:55 019.1. 抓取策略(Fetching strategies ... -
hibernate 使用二级缓存
2012-03-15 22:04 0二级缓存: 二级缓存也称进程级的缓存或SessionF ... -
hibernate Isolation Level(事务隔离等级)
2011-12-25 14:33 1560hibernate Isolation Level(事务隔离等 ... -
Hibernate Criteria 多层次查询关联问题(转)
2011-12-22 21:52 1137轉載,收藏一下! http://terrencemai ... -
hibernate hql函数
2011-12-20 20:07 4462√通过 ⊙测试没结果 ... -
openSession() 与 getCurrentSession()
2011-09-17 18:04 10051 getCurrentSession创建的session会和 ... -
使用ThreadLocal实现事务的管理
2011-01-18 19:45 2396在HibernateSessionFactory类中,我们可以 ... -
criteria进行分页查询
2010-11-10 01:33 1555public List findStockBySt ... -
hibernate HQL 模糊查询 3种方式
2010-11-10 01:01 1157hibernate HQL 模糊查询 3种方式 以下是 ... -
hibernate从数据库中读取出来的数据乱码的问题分析!
2010-10-19 22:26 3187最近在部署一个开源项目时,发现从数据库中读取出来的数据都乱码了 ... -
Hibernate常见问题集锦(2)
2010-10-17 22:17 9871。问题: 异常原因: 2010/10/17-22: ...
相关推荐
在这个例子中,`hibernatetool`任务被用来调用`hbm2java`,并将生成的Java文件放入`build.dir`目录下。类似的,`hbm2ddl`任务可以用于生成数据库脚本。 使用SSH项目时,理解并正确配置`hbm2dll`和`hbm2java`能显著...
Hibernate Tools支持多种类型的导出器,如用于生成数据库模式的`hbm2ddl`、用于生成Java源码的`hbm2java`等。 #### 三、Eclipse Plugins - **Introduction**:Eclipse插件为开发者提供了一个图形化的界面来管理...
6. **其他功能**:除了生成Java类,Hibernate Tool还可以生成数据库表的DDL(Data Definition Language)脚本,反向工程数据库结构到HBM文件,甚至可以生成基于JPA的实体类。 7. **依赖管理**:在非IDE环境下,需要...
3. **使用Hibernate工具**: Hibernate提供了SchemaExport或HibernateTool工具,可以读取hbm.xml文件并生成相应的DDL语句。例如,`SchemaExport.create(true, true)`将执行CREATE命令,而`SchemaExport.drop(true, ...
<taskdef name="hbm2java" classname="org.hibernate.tool.ant.HibernateToolTask" classpathref="all-in-one.path"/> <hbm2java destdir="${java.code.dir}"> ${configuration-files.dir}/hibernate-access-...
在这个例子中,`hibernatetool`任务会读取源代码目录下的所有`.hbm.xml`文件,根据它们生成对应的SQL脚本(schema.sql),并写入到指定的目录。 在实际开发中,Ant和Hibernate的结合使用可以大大提高项目的开发效率...
这涉及到`org.hibernate.tool.hbm2ddl.SchemaExport`类,它负责处理`hibernate.hbm2ddl.auto`的各个选项,并调用数据库方言(Dialect)来生成符合特定数据库语法的SQL。 **工具支持** 对于大型项目,除了直接在代码...
java org.hibernate.tool.hbm2ddl.SchemaExport -drop -create -configuration /path/to/hibernate.cfg.xml -classpath /path/to/classes ``` 这条命令会先删除已存在的表(如果使用`-drop`选项),然后根据配置...
这可以通过解析数据库元数据来实现,比如使用`org.hibernate.tool.hbm2ddl.SchemaExport`工具生成HBM文件,然后反向工程生成Java实体。 4. **Criteria API和HQL的动态构建**:这些API允许在运行时根据条件动态构造...
import org.hibernate.tool.hbm2ddl.SchemaExport; public class HibernateUtil { public static void generateSchema() { Configuration cfg = new Configuration().configure(); new SchemaExport(cfg).create...
除了上述手动配置,还可以使用Hibernate的命令行工具(如`hibernatetool`)生成Java实体类和映射文件,或者反向工程数据库结构到这些文件,极大地提高了开发效率。 **5. 源码分析** 了解Hibernate的工作原理时,...
Hibernate Tool是一组工具,包括了反向工程(Reverse Engineering)可以自动生成Java实体类和映射文件,以及HBM2DDL自动创建数据库结构等功能,帮助开发者快速搭建项目基础。 总结,Hibernate3作为强大的O/R ...
6. **SchemaExport工具**:`org.hibernate.tool.hbm2ddl.SchemaExport`工具可用于根据`.hbm.xml`文件自动生成数据库表结构,简化了数据库初始化和维护工作。 #### 实践步骤详解 - **环境搭建**:首先,需确保已...
import org.hibernate.tool.hbm2ddl.SchemaExport; public class StuTest { public static void main(String args[]){ Configuration cfg = new Configuration().configure(); SchemaExport sExport = new ...
<servlet-class>org.hibernate.tool.hbm2ddl.SchemaExport <param-name>configuration <param-value>/WEB-INF/hibernate.cfg.xml <param-name>execute <param-value>true <load-on-startup>1 ``` ...
- **运行SchemaExport工具**:执行`org.hibernate.tool.hbm2ddl.SchemaExport`类,创建或更新数据库表结构。 #### 二、事务与并发控制 - **事务定义**:事务是一组操作的集合,在这些操作完成后要么全部成功提交...
本来想在csdn下的,结果一看全都需要积分。已经在开源网站下齐了...可以找到语句:log4j.logger.org.hibernate.tool.hbm2ddl=debug ,这就是用来显示DDL语句的配置,还有其他配置用来显示其他信息,不要的话可以注释掉
spring mvc + spring data jpa + redis + shiro 集成加应用 ...另外,将applicationContenxt.xml 中 <prop key="hibernate.hbm2ddl.auto">update</prop> update 改成create 可直接创建表,直接运行!
- **DDL生成**:如果使用 `hibernate.hbm2ddl.auto` 配置项,Envers会在启动时自动创建所需的审计表。也可以使用 `org.hibernate.tool.EnversSchemaGenerator` 或者 Ant 任务来自定义生成 DDL 语句。 ##### 2.3 ...