`
roc08
  • 浏览: 227478 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Hibernate3.4 不自动创建索引的问题

阅读更多
  现在很多小团队都弱化了DBA的角色,有些团队甚至没有DBA,这时数据库文档和索引等的维护就是很大的问题了,关于数据库文档我写了一个maven插件可以基于Hibernate注解的po生成数据库文档
   而对于索引 我看到Hibernate有这个注解,但是加上之后不会自动生成索引,在网上查了很多资料都说的似是而非,有的说可以 有的说不可以,最后找到Hibernate的jira,发现这是个bug 已经修复了,因此我对比了我们正在用的Hibernate3.4版本和3.5的Hibernate生成数据库脚本类的区别,发现Configuration中是生成要创建的数据库 字段 和索引的地方,因此只需修改这个类即可,当然最好是升级到最新版Hibernate,由于我们使用的osgi环境对Hibernate进行了修改,故升级成本太高,暂时只能修改源代码解决,后续会升级到Hibernate最新版本。
Hibernate 3.5版本修复了这个bug

修改文件org.hibernate.cfg. Configuration的generateSchemaUpdateScript方法在1071行
增加
Iterator subIter = table.getIndexIterator();
while ( subIter.hasNext() ) {
final Index index = (Index) subIter.next();
// Skip if index already exists
if ( tableInfo != null && StringHelper.isNotEmpty( index.getName() ) ) {
final IndexMetadata meta = tableInfo.getIndexMetadata( index.getName() );
if ( meta != null ) {
continue;
}
}
script.add(
index.sqlCreateString(dialect,mapping,defaultCatalog,defaultSchema)
);
}
分享到:
评论

相关推荐

    Hibernate3.4.X 代码快速查询 实体更快 更方便

    - 除了自动索引外,还可以手动控制索引的创建、更新和删除。 - 手动索引适用于需要精细控制索引更新的场景。 2. **清除索引**: - 当不再需要某个索引时,可以通过相应的API清除索引。 #### 九、总结 通过上述...

    hibernate文档

    - **索引自动启用**:配置Hibernate Search的启动与自动索引机制,确保数据实时同步。 - **目录配置**:掌握目录服务的配置细节,包括分片、共享和工作线程配置。 - **异常处理**:配置异常处理策略,确保在索引或...

    Hibernate Annotations 中文文档

    Hibernate Annotations API 中文文档 前言 1. 创建一个注解项目 1.1. 系统需求 1.2. 系统配置 2. 实体Bean 2.1. 简介 2.2. 用EJB3注解进行映射 2.2.1. 声明实体bean ...5.1.2. 启用自动索引

    Hibernate实战(第2版 中文高清版)

     8.3.6 创建索引   8.3.7 添加辅助的DDL   8.4 小结  第三部分 会话对象处理  第9章 使用对象   9.1 持久化生命周期   9.1.1 对象状态   9.1.2 持久化上下文   9.2 对象同一性和等同性   9.2.1 ...

    Hibernate+中文文档

    3.4. Hibernate JDBC和连接(connection)属性 3.5. Hibernate缓存属性 3.6. Hibernate事务属性 3.7. 其他属性 3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA ...

    hibernate annotation 中文文档

    - **2.4.3.4 索引**:`@Index` 注解用于在属性上创建索引。 - **2.4.3.5 @Parent**:`@Parent` 注解用于指定实体Bean所属的分组。 - **2.4.3.6 生成的属性**:`@Generated` 注解用于标记那些由 Hibernate 自动...

    hibernate3.2中文文档(chm格式)

    3.4. Hibernate JDBC和连接(connection)属性 3.5. Hibernate缓存属性 3.6. Hibernate事务属性 3.7. 其他属性 3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA ...

    HibernateAPI中文版.chm

    3.4. Hibernate JDBC和连接(connection)属性 3.5. Hibernate缓存属性 3.6. Hibernate事务属性 3.7. 其他属性 3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA ...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    3.4. Hibernate JDBC和连接(connection)属性 3.5. Hibernate缓存属性 3.6. Hibernate事务属性 3.7. 其他属性 3.8. Hibernate SQL方言 (hibernate.dialect) 3.9. Hibernate日志类别 3.10. JTA ...

    hibernate 教程

    用户自行提供JDBC连接 3.4. Hibernate提供的JDBC连接 3.5. 可选配置属性 3.5.1. SQL Dialects SQL 方言 3.5.2. 外连接抓取(Outer Join Fetching ) 3.5.3. 二进制流 3.5.4. 自定义CacheProvider...

    Hibernate中文详细学习文档

    3.4. 可选的配置属性 3.4.1. SQL方言 3.4.2. 外连接抓取(Outer Join Fetching) 3.4.3. 二进制流 (Binary Streams) 3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)...

    最全Hibernate 参考文档

    3.4. 可选的配置属性 3.4.1. SQL方言 3.4.2. 外连接抓取(Outer Join Fetching) 3.4.3. 二进制流 (Binary Streams) 3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)...

    Hibernate 中文 html 帮助文档

    3.4. 可选的配置属性 3.4.1. SQL方言 3.4.2. 外连接抓取(Outer Join Fetching) 3.4.3. 二进制流 (Binary Streams) 3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)...

    Hibernate教程

    Hibernate参考文档 目录 前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. Hibernate入门 2.1. 前言 2.2. 第...

    hibernate 体系结构与配置 参考文档(html)

    1. Hibernate入门 1.1. 前言 1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第...

    hibernate_reference中文文档.pdf

    该章节详细介绍了如何创建并运行一个简单的 Hibernate 应用程序。 - **1.1.1 设置**:这部分讲解了搭建 Hibernate 开发环境所需的步骤,包括 Java 开发环境的准备、Hibernate 库文件的获取以及开发工具的选择等。 -...

    hibernate3.04中文文档.chm

    3.4. 对JCA的支持 4. 配置 4.1. 可编程的配置方式 4.2. 获得SessionFactory 4.3. JDBC连接 4.4. 可选的配置属性 4.4.1. SQL方言 4.4.2. 外连接抓取(Outer Join Fetching) 4.4.3. 二进制流 (Binary ...

    Hibernate3+中文参考文档

    3.4. 可选的配置属性 3.4.1. SQL方言 3.4.2. 外连接抓取(Outer Join Fetching) 3.4.3. 二进制流 (Binary Streams) 3.4.4. 二级缓存与查询缓存 3.4.5. 查询语言中的替换 3.4.6. Hibernate的统计(statistics)...

Global site tag (gtag.js) - Google Analytics