`
dreamoftch
  • 浏览: 485490 次
  • 性别: 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) 
    ) 


分享到:
评论

相关推荐

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

    Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 1.3.5...

    Hibernate+中文文档

    1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 ...

    HibernateAPI中文版.chm

    1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 ...

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

    1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 ...

    深入浅出Hibernate源码

    (假若您希望使用其它用户名如root,您需要修改hibernate的数据库配置中的连接参数——位于hibernate.cfg.xml中,以及创建数据库表时的连接参数——位于build.xml中。) 7, 确认ant安装正确. ant可以在此下载: ...

    Hibernate中文详细学习文档

    1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 ...

    Hibernate 中文 html 帮助文档

    1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 ...

    Hibernate教程

    2.2.3. Hibernate配置 2.2.4. 用Ant编译 2.2.5. 安装和帮助 2.2.6. 加载并存储对象 2.3. 第二部分 - 关联映射 2.3.1. 映射Person类 2.3.2. 一个单向的Set-based关联 2.3.3. 使关联工作 2.3.4. 值类型的集合...

    最全Hibernate 参考文档

    13.1. 批量插入(Batch inserts) 13.2. 批量更新(Batch updates) 13.3. 大批量更新/删除(Bulk update/delete) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    数据量小:只加载当前页的记录进行显示。 5.单数据源配置(兼容Tomcat和Weblogic)。 6.Hibernate继承 HibernateDaoSupport。 7.Spring+Junit4单元测试,优点:不会破坏数据库现场,等等。 2)Demo 导入说明: 1....

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

    1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. 映射Person类 1.3.2. 单向Set-based的关联 1.3.3. 使关联工作 1.3.4. 值类型的集合 ...

    Ftp在线管理系统(struts2+hibernate3+spring2+jquery实现的)

    (注:在applicationContent.xml 里配置有自动创建表结构那一项,不过已经注释了,放开就行了,用的是mysql 的数据库!文件为war包,tomcat导入直接用。)由于是本人独立做的系统,肯定存在bug,希望发现的网友帮忙...

    Struts2 + Spring3 + Hibernate3.5 整合(集成测试配套jar包更新构建脚本使用说明)

    本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范...

    Struts2 + Spring3 + Hibernate3.5 整合(实际使用项目,version3).part1

    本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范...

    深入浅出Hibernate

    (假若您希望使用其它用户名如root,您需要修改hibernate的数据库配置中的连接参数——位于hibernate.cfg.xml中,以及创建数据库表时的连接参数——位于build.xml中。) &lt;br/&gt;7, 确认ant安装正确. ant可以在此...

    Struts2 + Spring3 + Hibernate3.5 整合(实际使用项目,version2)

    本版本全面更新了jar包,全部使用了当前最新版本的jar包,struct2.1.8 spring3 hibernate3.5,全面使用注解取代xm的l配置。 另外增加了一个ant构建脚本,支持使用hudson完成每日构建,持续集成,自动测试,代码规范...

    北大青鸟学士后第三单元OA办公自动化管理系统

    (5) src下的applicationContext.xml 和 hibernate.cfg.xml 是hibernate配置信息和Spring的配置分开配置再通过classpath 导入给applicationContext.xml(这两个文件本身已经没使用到了) 项目现在hibernate配置信息都写...

    hibernate3.04中文文档.chm

    2.2.3. Hibernate配置 2.2.4. 用Ant编译 2.2.5. 安装和帮助 2.2.6. 加载并存储对象 2.3. 第二部分 - 关联映射 2.3.1. 映射Person类 2.3.2. 一个单向的Set-based关联 2.3.3. 使关联工作 2.3.4. 值...

    Hibernate3+中文参考文档

    13.1. 批量插入(Batch inserts) 13.2. 批量更新(Batch updates) 13.3. 大批量更新/删除(Bulk update/delete) 14. HQL: Hibernate查询语言 14.1. 大小写敏感性问题 14.2. from子句 14.3. 关联(Association)与...

    hibernate 框架详解

    Hibernate配置 2.2.4. 用Ant编译 2.2.5. 安装和帮助 2.2.6. 加载并存储对象 2.3. 第二部分 - 关联映射 2.3.1. 映射Person类 2.3.2. 一个单向的Set-based关联 2.3.3. 使关联工作 2.3.4. 值类型的集合 ...

Global site tag (gtag.js) - Google Analytics