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

hibernate配置自动插入当前时间

 
阅读更多
http://blog.sina.com.cn/s/blog_4b5bc01101016lmo.html
用户注册的时候,注册时间应该是由数据库自动生成的,怎样通过Hibernate配置生成这个默认时间呢?

    <?xml version="1.0"?> 
    <!DOCTYPE hibernate-mapping PUBLIC  
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN" 
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> 
    <hibernate-mapping package="com.mine.dto.model"> 
     
        <class name="User" table="users"> 
            <id name="id" column="ID" type="integer" unsaved-value="null"> 
                <generator class="native" /> 
            </id> 
     
            <property name="userName" column="USERNAME" unique="true" 
                length="40" /> 
            <property name="nickName" column="NICKNAME" length="20" /> 
            <property name="password" column="PASSWORD" length="20" /> 
            <property name="rePassword" column="REPASSWORD" length="20" /> 
            <property name="sex" column="SEX" length="10" /> 
            <property name="birthday" column="BIRTHDAY" type="date" /> 
            <property name="registerDate" generated="insert" not-null="true"> 
                <column name="REGISTERDATE" sql-type="timestamp" default="CURRENT_TIMESTAMP" /> 
            </property> 
            <property name="email" column="EMAIL" length="30" /> 
            <property name="address" column="ADDRESS" length="100" /> 
     
        </class> 
     
    </hibernate-mapping> 

其中的

    …… 
    <property name="registerDate" generated="insert" not-null="true"> 
                <column name="REGISTERDATE" sql-type="timestamp" default="CURRENT_TIMESTAMP" /> 
    </property> 
    …… 

  generated有三个可选值:

never(默认) 表明此属性不是从数据库生成的

      insert  表明此属性在insert的时候生成,但是不会在随后的update时从新生成

      always  表明此属性在insert时或者update时都被生成



  sql-type  指生成的时间的类型



  default Hibernate本身提供current_date,current_timestamp和current_time三种函数




DTO 类如下:

    package com.mine.dto.model; 
    import java.sql.Timestamp; 
    import java.util.Date; 
    public class User { 
     
        private Integer id; 
        private String userName; 
        private String nickName;  
        private String password; 
        private String rePassword;  
        private String sex; 
        private Date birthday; 
        private Timestamp registerDate; 
        private String email; 
        private String address; 
         
        public User() {} 
        // getter和setter略 
    } 





运行

    package com.mine.DB; 
     
    import org.hibernate.cfg.Configuration; 
    import org.hibernate.tool.hbm2ddl.SchemaExport; 
     
    public class ExportDB { 
     
        public static void main(String[] args) { 
            Configuration cfg = new Configuration().configure(); 
            SchemaExport export = new SchemaExport(cfg); 
            export.create(true, true); 
        } 
    } 

生成的sql代码:



    drop table if exists users 
     
    create table users ( 
        ID integer not null auto_increment, 
        USERNAME varchar(40) unique, 
        NICKNAME varchar(20), 
        PASSWORD varchar(20), 
        REPASSWORD varchar(20), 
        SEX varchar(10), 
        BIRTHDAY date, 
        REGISTERDATE timestamp default CURRENT_TIMESTAMP, 
        EMAIL varchar(30), 
        ADDRESS varchar(100), 
        primary key (ID) 
    ) 


分享到:
评论

相关推荐

    JSP+Struts+Hibernate办公自动化管理系统

    **JSP+Struts+Hibernate办公自动化管理系统** 这个系统是一个基于Java Web技术的办公自动化解决方案,采用经典的MVC(Model-View-Controller)设计模式,利用JSP、Struts和Hibernate三大技术栈来构建。这样的架构...

    spring mvc+hibernate实现事务管理(配置文件版)

    4. 在MyEclipse中,可以使用"New -&gt; Spring Beans"生成这些配置文件,并自动导入所需的jar包。 对于数据库MySQL,我们需要确保其正确安装并配置在Hibernate的配置文件中,包括URL、用户名、密码等信息。同时,为了...

    hibernate中自动生成主键的办法

    Native策略是一种智能选择策略,Hibernate会根据当前使用的数据库类型自动选择最合适的主键生成策略,如identity、sequence或hilo。这种方式的最大优点是灵活性和兼容性,开发者无需关心底层数据库的细节,可以专注...

    常用 Hibernate 映射配置说明.doc

    ### 常用Hibernate映射配置详解 #### 1. hibernate-mapping节点解析 `hibernate-mapping`节点是Hibernate映射文件中的顶级节点,用于定义一系列配置选项,控制整个映射文件的行为和映射规则。这些配置包括数据库...

    hibernate 自动导入 sql 文件 import.sql 国际化编码的问题的解决方案

    ### Hibernate自动导入SQL文件import.sql国际化编码问题的解决方案 #### 背景介绍 在使用Hibernate框架时,经常需要在项目启动初期或者数据库更新时自动执行一些SQL脚本(如DDL脚本)来创建或更新数据库结构。这些...

    spring4配置hibernate3

    同时,还需要配置Hibernate的实体扫描路径,以便自动加载映射文件。 3. **配置SessionFactory**:在Spring的配置文件(如applicationContext.xml)中,声明一个SessionFactory的Bean,并注入上面的hibernate.cfg....

    hibernate基本配置及使用方法

    【hibernate基本配置及使用方法】 Hibernate是一个流行的开源对象关系映射(ORM)框架,它简化了Java应用程序与关系数据库之间的交互。本教程将详细解释Hibernate的基本配置和使用步骤,帮助初学者快速掌握这一强大...

    hibernate注解配置

    ### Hibernate注解配置详解 #### 一、概述 Hibernate 是一款强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互过程。在使用Hibernate的过程中,开发者可以通过注解来实现对象与数据库表之间...

    Hibernate各种主键生成策略与配置详解

    ### Hibernate 主键生成策略与配置详解 #### 一、概述 在使用Hibernate进行持久化操作时,合理选择和配置主键生成策略对于确保数据的一致性和优化性能至关重要。本文将详细介绍几种常见的主键生成策略,并结合示例...

    hibernate配置

    在本文中,我们将详细探讨如何在MyEclipse 6.5中配置Hibernate,以便进行Java开发。Hibernate是一种流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式操作数据库,简化了数据库操作。以下是一步步的配置...

    hibernate配置属性参数[定义].pdf

    7. `hibernate.jdbc.use_get_generated_keys`:在插入数据后,允许使用 JDBC 的 `getGeneratedKeys()` 方法获取自动生成的主键。 了解并正确配置这些属性对于实现高效、可靠的 Hibernate 应用至关重要。它们可以...

    hibernate实体映射文件字段设置默认值

    `default`属性被设置为`sysdate()`,这是一个SQL函数,用于获取当前系统日期和时间。因此,在插入或更新记录时,如果该字段没有被显式设置,那么它的值将自动设置为当前的系统日期和时间。 #### 控制字段是否参与...

    Hibernate 课件_配置文件详解

    ### Hibernate配置文件详解 #### Hibernate概述 Hibernate是一个开源的对象关系映射(ORM)框架,它为Java应用程序提供了简化的方式去处理数据库操作。通过使用Hibernate,开发者可以将Java对象映射到数据库表,并...

    myeclipse下hibernate用法

    最后,点击 Finish 按钮,系统将自动生成 HibernateSessionFactory.java 及 Hibernate.cfg.xml 配置文件,并将 Hibernate 环境所需要的外部包文件也加入到 CLASSPATH 当中。 通过上述步骤,我们已经成功地在 ...

    改AHibernate 实现数据库 自动新增表参数

    1. **配置Hibernate的自动DDL生成**:默认情况下,Hibernate提供了`hibernate.hbm2ddl.auto`属性,可以设置为"create"、"update"等值,使得在应用启动时根据实体类自动创建或更新数据库表。为了实现自动新增参数,...

    .hibernate 框架介绍

    Hibernate会根据映射文件中的配置信息自动生成SQL语句,并执行相应的数据库操作。 Hibernate框架的配置文件通常包含以下内容: - 数据库连接信息,如URL、用户名和密码。 - 数据库方言设置,即Hibernate针对不同...

    Hibernate5需要的jar包。

    10. **slf4j-api-1.7.x.jar** 和 **slf4j-simple-1.7.x.jar** 或其他SLF4J实现:简单日志门面,让Hibernate可以使用不同的日志系统。 11. **mysql-connector-java-x.x.x.jar** 或其他数据库驱动:用于连接到特定...

    hibernate的查询方式介绍和hibernate的批处理和连接池配置hibernate

    ### Hibernate 查询方式与批处理及连接池配置详解 #### 一、Hibernate 查询方式介绍 Hibernate 是一款优秀的 ORM(对象关系映射)框架,它能够极大地简化数据库操作,并提供多种查询方式来满足不同的业务需求。 #...

Global site tag (gtag.js) - Google Analytics