`
hwpok
  • 浏览: 252116 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Hibernate 动态表名

阅读更多

最近发现HIBERNATE可以动态更换表名,真不简单,下面把原代码贴出来供参考:

public class ReportDBApi {

  private SessionFactory sessionFactory = null;
  public ReportDBApi(){
    createSession();
  }

  public void createSession(){
    Date date = new Date();
    SimpleDateFormat simpledateformat = new SimpleDateFormat("yyyyMMdd");
    String now_time = simpledateformat.format(date);
    String tablename = "TBL_REPORT_STATUS_20050707";
    tablename = "TBL_REPORT_STATUS_" + now_time;
    try {
      Configuration cfg = new Configuration().addClass(cn.sports.vas.sms.unicom.TblReportStatus.class).configure();

      Table table = cfg.getClassMapping(TblReportStatus.class).getTable();
      table.setName(tablename);
      cfg.getClassMapping(TblReportStatus.class).setTable(table);
      sessionFactory  = cfg.buildSessionFactory();
    }
    catch (MappingException ex) {
      ex.printStackTrace();
    }catch (HibernateException ex) {
      ex.printStackTrace();
    }
  }

  public void insertPO(TblReportStatus po) throws HibernateException {
    Session session = sessionFactory.openSession();
    Transaction tx = session.beginTransaction();
    session.save(po);
    tx.commit();
    session.close();
  }

  public void closeSession() throws HibernateException {
    sessionFactory.close();
  }
}


这个类是每天新建一张表,并往里写数据。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jljf_hh/archive/2005/07/14/424510.aspx

分享到:
评论

相关推荐

    spring hibernate实现动态替换表名(分表)的方法

    Spring Hibernate 实现动态替换表名(分表)的方法 随着数据库的发展,分表操作变得越来越重要。今天,我们将讨论如何使用 Spring Hibernate 实现动态替换表名(分表)。 概述 ---- 在实现动态替换表名时,我们...

    hibernate动态数据库进化版

    例如,使用`org.hibernate.boot.model.naming.PhysicalNamingStrategy`接口来自定义表名生成策略,或者利用`Session.createSQLQuery()`方法直接执行原生SQL。 2. **多数据库支持**:为了适应不同的数据库,如MySQL...

    Hibernate 参数设置一览表 属性名 用途

    Hibernate 参数设置一览表 属性名 用途 详细解读hibernate配置时的参数定义

    Hibernate动态建表

    【标题】:“Hibernate动态建表” 在Java世界中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它允许开发者将数据库操作与Java对象模型相结合,简化了数据库编程。"Hibernate动态建表"指的是在应用运行时...

    hibernate实现动态表查询的多种解决方案

    ### Hibernate 实现动态表查询的多种解决方案 #### 一、前言 在使用Hibernate进行数据库操作时,我们经常需要根据不同的需求对不同的表进行查询。特别是在处理多表、多库等复杂场景时,如何实现动态表查询就显得尤...

    hibernate3 hibernate3

    例如,使用@Table注解指定对应的表名,@Column注解定义列属性。 3. 主键(Primary Key):每个实体都应有一个唯一的标识符,通常由@Id注解定义。Hibernate支持多种主键策略,如自动生成(GenerationType.AUTO)、...

    Hibernate中文文档+hibernate annotation +distribution

    3. 动态查询:使用Criteria API或HQL构建动态查询,灵活适应业务需求。 总之,Hibernate中文文档和相关jar包提供了学习和使用Hibernate的强大支持。结合实际项目实践,开发者能够熟练掌握ORM技术,提高开发效率,...

    HibernateDemo

    例如,`@Entity`标记一个类作为数据库表的映射,`@Table`指定对应的表名,`@Id`标识主键字段,`@GeneratedValue`定义主键生成策略等。 7. **操作流程**:在学习这个例子时,开发者通常会经历以下步骤:加载配置、...

    hibernate配置文件详解

    * `class`:定义类名和对应的数据库表名 * `id`:定义类的主键信息 * `property`:定义类的属性信息 * `set`:定义一对多关联关系 这些配置项是 Hibernate 建立对象关系映射所需的基本信息。 Hibernate 配置文件是...

    hibernate-分表插件实现思路

    2. **动态表名生成**:当插入或查询数据时,插件需要根据分表策略动态生成目标表的名称。这通常涉及对实体类的元数据处理,以及与策略相关的计算。 3. **SQL构造**:由于数据分布在多个表中,原有的SQL语句需要修改...

    hibernate源码release-4.1.4.Final版

    Hibernate通过@Entity注解标记Java类为数据库表的映射,@Table定义表名,@Id指定主键,@GeneratedValue管理主键生成策略。其他如@Column、@OneToMany、@ManyToOne等注解则用于定义字段映射关系。 四、缓存机制 ...

    Hibernate帮助文档

    5. **Criteria API**: 除了HQL,Hibernate还提供了Criteria API进行动态查询,这种方式更加面向对象,使得构建复杂的查询条件更为直观。 6. **第二级缓存**: Hibernate支持第二级缓存,通过缓存中间结果,提高...

    电子书-Hibernate 3.12

    XML配置文件通常包含实体类的信息,包括表名、字段名以及它们对应的数据库类型。而注解方式则允许直接在类和属性上添加元数据,使代码更加整洁。 此外,Hibernate支持多种查询方式。HQL(Hibernate Query Language...

    Hibernate开发lib包

    - 注解驱动:在Hibernate 3.3中,注解成为了一种主流的元数据声明方式,开发者可以使用Java类的注解来定义实体类及其与数据库表的映射关系,如`@Entity`表示实体类,`@Table`定义表名,`@Id`标识主键等。...

    让hibernate输出sql语句参数配置.doc

    hibernate.default_schema 参数用于在生成的 SQL 中,给定的 schema/tablespace 附加于非全限定名的表名上。其取值为 SCHEMA_NAME。 5. hibernate.default_catalog hibernate.default_catalog 参数用于在生成的 ...

    Hibernate 4.4.1最终发布版本

    2. ** Criteria API增强**:Hibernate 4.4.1进一步增强了Criteria API,这是一个动态查询构建工具,允许开发者用面向对象的方式来构建SQL查询。这比传统的HQL更加灵活,且易于理解和维护。 3. **Second-Level Cache...

    Hibernate 4.1.1中文文档

    `@Table`注解用于指定对应的数据库表名,而属性上的`@Column`注解则对应表中的列。 4. **对象关系映射(ORM)**:Hibernate支持多种映射方式,如一对一、一对多、多对一和多对多关系。这些关系通过使用`@OneToOne`,...

    Hibernate Tool 使用文档

    ### Hibernate Tools 使用文档知识点概述 #### 一、下载与安装Hibernate Tools - **JBoss Eclipse IDE**:在使用JBoss Eclipse IDE的情况下,可以利用插件管理器直接安装Hibernate Tools插件。 - **Eclipse IDE**...

    hibernate3.5.6开发包

    7. **Criteria 查询**:除了HQL,Hibernate还提供了Criteria API,它允许动态构建查询,提供了更加面向对象的查询方式。 8. **事务管理**:Hibernate支持JTA(Java Transaction API)和JDBC事务管理,确保数据的...

Global site tag (gtag.js) - Google Analytics