hibernate配置属性中,hibernate.hbm2ddl.auto可以帮助你实现正向工程,即由java代码生成数据库脚本,进而生成具体的表结构.
在hibernate.cfg.xml中:
<property name="hibernate.hbm2ddl.auto">
</property>
它包含4个属性:
- create : 会根据你的model类来生成表,但是每次运行都会删除上一次的表,重新生成表,哪怕2次没有任何改变
- create-drop : 根据model类生成表,但是sessionFactory一关闭,表就自动删除
- update : 最常用的属性,也根据model类生成表,即使表结构改变了,表中的行仍然存在,不会删除以前的行
- validate : 只会和数据库中的表进行比较,不会创建新表,但是会插入新值
下面是个老外写的文章,大家可以看看
http://www.jroller.com/eyallupu/entry/hibernate_s_hbm2ddl_tool,看文章的时候,我有个误区,schema其实就是指数据库中的表,它让我走了很大的弯路,希望大家没有啊.哈哈!
分享到:
相关推荐
详解hibernate.hbm2ddl.atuo 属性的配置
首先,我们要关注的关键配置项是`hibernate.hbm2ddl.auto`。这个属性决定了Hibernate在启动时如何处理数据库的元数据,即表结构。以下四个值是它可能的取值: 1. **update**:这是最常用的设置,当设置为`update`时...
### hbm2ddl属性详解 #### 一、引言 在深入探讨`hbm2ddl`属性之前,我们首先需要了解其背景与应用场景。`hbm2ddl`是Hibernate框架中的一个重要配置项,用于控制Hibernate如何处理数据库模式的创建、更新和删除。...
#### 四、Hibernate.hbm2ddl.auto属性配置 在Hibernate中,`hibernate.hbm2ddl.auto`属性控制着Hibernate是否自动执行DDL操作。当设置为`create`时,Hibernate会在启动时删除现有表并重新创建新表。这通常用于开发...
`hibernate.hbm2ddl.auto`控制数据库表的自动管理,`update`表示在启动时更新数据库结构。`hibernate.show_sql`开启后,Hibernate会打印执行的SQL语句。 3. SessionFactory配置: SessionFactory是Hibernate的...
<property name="hibernate.hbm2ddl.auto">update ``` 这个属性可以设置为`create`、`create-drop`、`update`或`validate`,根据项目的需要调整。 最后,文件还会包含SessionFactory的创建,这是Hibernate的核心...
- `hibernate.hbm2ddl.auto`: 自动创建、更新或验证数据库表结构,常用于开发环境。 5. **使用流程**: - 创建实体类并编写.hbm.xml映射文件。 - 配置hibernate.cfg.xml,设定数据库连接信息。 - 初始化...
`hibernate.hbm2ddl.auto`属性决定了Hibernate启动时如何处理数据库结构。常见的值有: - `create`:每次启动时都创建新的表,原有数据将丢失。 - `update`:根据映射文件更新表结构,不会删除已有数据。 - `...
其中,`hibernate.hbm2ddl.auto`属性用于自动创建或更新数据库表结构,这里设置为`update`意味着在启动应用时,如果表不存在会创建,如果已存在则更新。 接着,我们看多对一关系的映射。在关系型数据库中,多对一...
- `<property name="hibernate.hbm2ddl.auto">`: 自动创建、更新或验证数据库表结构,如`create-drop`、`update`等。 在实际开发中,开发者可以根据项目需求调整这些配置,以实现最佳性能和功能。例如,生产环境中...
<property name="hibernate.hbm2ddl.auto">update <!-- 添加映射文献 --> <mapping resource="cn/itcast/a_hello/Book.hbm.xml"/> </hibernate-configuration> ``` Hibernate 的映射 Hibernate 的映射是将 ...
`hibernate.hbm2ddl.auto`控制了数据库表的自动创建或更新,如设为`update`,会在启动时更新已有表结构。 类映射文件是将Java类与数据库表进行关联的关键。例如,`Cat.hbm.xml`映射文件会描述`Cat`类与数据库中某...
- `hibernate.hbm2ddl.auto`:该属性定义了Hibernate如何处理数据库表结构的更新策略。“update”表示每次启动应用时自动更新数据库表结构,保持与实体类同步;“create”则表示每次启动都会重建数据库表结构。 - `...
- `hibernate.hbm2ddl.auto`: 控制Hibernate在启动时是否自动创建或更新数据库表结构。常见的值包括: - `create`: 每次启动应用时都重新创建表结构。 - `create-drop`: 启动时创建表结构,在应用关闭时删除表...
- `hibernate.hbm2ddl.auto`: 控制Hibernate自动创建、更新或验证数据库表结构,如`create`、`update`、`validate`或`none`。 - `entity_package_to_scan`: 指定包含实体类的包名,Hibernate会自动扫描这些包下的...
- `hibernate.hbm2ddl.auto`: 配置数据库模式的自动创建或更新策略。 - `hibernate.jdbc.fetch_size` 和 `hibernate.jdbc.batch_size`: 调整JDBC抓取和批处理的数量。 - `hibernate.show_sql` 和 `hibernate....
- `hibernate.hbm2ddl.auto`: 控制数据库表的自动创建、更新或验证。常见的值有`create`(每次启动应用时新建表)、`update`(根据实体类更新表结构)和`validate`(检查表结构是否匹配)。 3. **缓存配置** - `...
<property name="hibernate.hbm2ddl.auto">update <!-- 是否显示SQL语句 --> <property name="hibernate.show_sql">true <!-- SQL格式化 --> <property name="hibernate.format_sql">true <!-- 映射文件...
`hibernate.hbm2ddl.auto` 设置为 `update` 表示每次启动时会根据映射文件自动更新表结构。 **2.2 实体类 `Customer.java`** 实体类是ORM (对象关系映射) 的核心,代表数据库中的表。 ```java package ...