hibernate创建表的代码如下,这个很一般,没什么多说了
import org.hibernate.cfg.Configuration;
import org.hibernate.tool.hbm2ddl.SchemaExport;
public class ExportDB {
public static void main(String[] args) {
Configuration configuration=new Configuration().configure();
SchemaExport schemaExport=new SchemaExport(configuration);
schemaExport.create(true, true);
}
}
好不容易把POJO映射好了
创表却报错了
ERROR SchemaExport:274
ERROR SchemaExport:275
等等的
查看报错信息,发现是sql语句的问题
仔细看看发出的sql语句,找到了问题的根源
是因为我的POJO中有个属性名叫describe和mysql的保留字冲突了
修改映射内容为
<property name="describe" column="job_describe"></property>
OK,搞定
小总结:
1,注意映射的时候列名,最好不要省那么字,每个属性按规范了,比较好识别,这样就不容易起冲突了
2,仔细看信息,这是最有帮助的
3,hibernate 是从数据库逆向工程生成POJO和映射好呢?还是POJO->DB呢?
从OO来说,还是POJO->DB比较合适,能很好的把握对象
但是由于根源上的数据库上就是关系数据库,总是会影响对象的设计,往往涉及好的POJO不能很好的映射下去,这次我的就这样,很耗时,不过我估计的自己水平不到家的问题,加强内功的话,估计就能到robbin说的状态了~
分享到:
相关推荐
本篇文章将详细介绍如何利用Hibernate中的`SchemaExport`工具来自动生成数据库表,以此来简化数据库设计过程,提高开发效率。 首先,我们需要了解Hibernate的逆向工程(Reverse Engineering)。在传统的开发流程中...
利用 Hibernate 自动生成数据库表不仅可以大大提高开发效率,还可以减少由于手动创建表带来的潜在错误。此外,这种方式还便于管理和维护,尤其是在需要支持多种数据库的情况下。希望本文能够帮助开发者更好地理解和...
总结,Hibernate的动态生成表结构功能极大地方便了开发过程,减少了手动创建和维护数据库表的工作量。通过正确配置实体类和映射关系,我们可以轻松地管理和操作复杂的数据库结构。在实际项目中,根据需求选择合适的...
6. **数据库表的生成**: 一旦映射文件准备好,开发者可以使用Hibernate的`SchemaExport`工具,依据映射文件生成或更新数据库表结构。这个GUI工具可能会包含一键生成表的功能,使整个过程更加便捷。 7. **逆向工程**...
1. **配置Hibernate的自动DDL生成**:默认情况下,Hibernate提供了`hibernate.hbm2ddl.auto`属性,可以设置为"create"、"update"等值,使得在应用启动时根据实体类自动创建或更新数据库表。为了实现自动新增参数,...
接着,`SchemaExport`类是Hibernate提供的工具类,用于处理数据库的创建、更新和验证。在这段代码中,`new SchemaExport(config)`创建了一个`SchemaExport`对象,`config`参数传递了数据库配置信息。`schemaExport....
- **表生成**:通过Hibernate的`SchemaExport`类生成数据库表。 #### 四、核心接口 - **Session**:代表一次会话,是执行CRUD操作的主要接口。 - **SessionFactory**:用于创建`Session`实例。 - **Configuration**...
1. **创建表**:在MySQL中创建一个表`teacher`,包含字段`id`、`name`、`title`。 2. **创建`Teacher`类并进行注解**: - 在`Teacher`类中添加`@Entity`和`@Id`注解,`@Id`注解放在`getId()`方法上。 3. **添加...
2. **生成Hibernate配置文件**:使用Hibernate的SchemaExport工具,我们可以根据实体类生成数据库表结构,或者根据现有数据库结构生成映射文件。 3. **编译源代码**:确保所有Hibernate相关的类被正确编译。 4. **...
其中,最具吸引力的是它的`SchemaExport`和`SchemaUpdate`工具,这两个工具能够根据配置的实体类自动生成数据库的DDL脚本,或者直接在现有的数据库上更新表结构。此外,hibernate-extensions还支持动态代理,允许...
最新hibernate 版本5.2.11.final--最新hibe--最新hibernate 版本5.2.11.finalrnate 版本5.2.11.final--最新hibernate 版本5.2.11.final
此外,反向工程不仅适用于创建表,还可以用于更新数据库结构,比如当实体类发生变化时,可以通过反向工程同步数据库表结构。只需确保`hibernate.reveng.xml`和实体类的更改一致,再次运行`SchemaExport`即可。 总之...
案例可能会展示如何配置Hibernate环境,如何编写映射文件,以及如何运行`SchemaExport`工具或API来创建数据库表。 四、注意事项 1. 主键生成策略:映射文件中的`<generator>`元素用于指定主键生成策略,如`native`...
SchemaExport是这个工具的一个实现,它可以从Hibernate配置文件读取信息,并创建或更新数据库的表结构。开发者只需要在配置文件中指定相关的数据库连接信息,然后执行SchemaExport,就可以根据对象模型自动创建...
- 创建SessionFactory:调用Hibernate的`SchemaExport`工具生成数据库表结构。 - 数据库操作:通过`<sql>`任务执行SQL语句,如填充测试数据。 5. Hibernate操作流程: - 加载配置并获取SessionFactory。 - 打开...
<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 ``` ...
10. **工具与插件**:介绍了Hibernate提供的工具,如SchemaExport用于生成数据库表结构,Enhancer用于增强实体类,以及IDE集成插件等。 11. **最佳实践**:分享了在实际开发中使用Hibernate的一些最佳实践和注意...
5. **更新数据库表**:在生成映射文件后,还可以结合Hibernate的SchemaExport工具生成或更新数据库表结构。 这样的自动化过程可以帮助开发者节省大量时间,并且减少人为错误。在实际开发中,例如使用Eclipse或...
- **环境配置**:包括了如何配置MySQL数据库、创建必要的表结构,并设置Hibernate的核心配置文件`hibernate.cfg.xml`。 - **实体类设计**:如何根据数据库表结构设计对应的Java实体类,并通过XML或注解的方式完成...