`
jingtiantxj
  • 浏览: 15133 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

hibernate配置自动插入当前时间 mysql

阅读更多

 

用户注册的时候,注册时间应该是由数据库自动生成的,怎样通过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)
    )

  参考的这个

分享到:
评论
1 楼 yy_Java 2011-09-14  
你试过了吗?
没试就发布帖子...

相关推荐

    MyEclipse+MySql+Struts2+Hibernate3新闻发布系统

    【标题】"MyEclipse+MySql+Struts2+Hibernate3新闻发布系统"涉及的核心技术栈是JavaEE,包括MyEclipse开发环境、MySQL数据库、Struts2框架和Hibernate持久化框架,这些技术共同构建了一个新闻发布平台。让我们逐一...

    省市县联动,dwr hibernate,mysql

    为了实现这个功能,你需要了解JavaScript基础、DWR的API用法、Hibernate的配置和映射、以及MySQL的基本操作。同时,对于SQL语言的理解也很重要,因为可能需要编写SQL脚本来导入初始数据或者进行其他数据库维护工作。...

    Hibernate 5.3.7 +mysql jar包

    2. **Hibernate配置**:包括hibernate.cfg.xml文件,用于定义数据库连接参数、方言、缓存策略等。 3. **实体类(Entity)**:Java类与数据库表进行映射,通过注解(如@Entity)定义为实体。 4. **持久化...

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

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

    hibernate中自动生成主键的办法

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

    hibernate配置

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

    使用Mysql+Maven+Hibernate的一对一,一对多的CURD小案例

    MySQL是一个流行的开源关系型数据库管理系统,Maven是项目管理和综合工具,而Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。 首先,MySQL作为后台存储系统,提供了稳定的数据存储...

    java网上书店 struts hibernate mysql,带数据库,java sh demo

    标题中的“java网上书店 struts hibernate mysql”指的是一个基于Java技术栈的网上书店系统,该系统使用了Struts作为MVC框架,Hibernate作为对象关系映射(ORM)工具,以及MySQL作为后端数据库。这样的组合是Java ...

    hibernate所需的13个(1个mysql驱动包+3个日志包+9个hibernate-required包)jar包

    它提供了Java程序与MySQL数据库之间的通信接口,使得开发者能够在Hibernate中配置并连接到MySQL数据库,执行SQL语句并获取结果。 接下来是日志包,日志在软件开发中扮演着调试和监控系统运行状态的重要角色。这里有...

    struts2+hibernate+mysql新闻发布系统

    "chet_news"可能是项目的主要源代码或资源文件夹,可能包含Struts2配置文件(如struts.xml)、Hibernate配置文件(如hibernate.cfg.xml)、实体类(如News.java)、DAO(数据访问对象)层的接口和实现类、Action类...

    hibernate注解配置

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

    NetBeans,Hibernate和MySQL.pdf

    【Hibernate配置】 在使用Hibernate时,通常需要配置Hibernate的XML映射文件(hbm.xml),定义对象和表之间的映射关系。此外,还可以使用Hibernate Query Language(HQL)进行数据库查询,这是一种面向对象的查询...

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

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

    基于jsp+hibernate+mysql开发实现电子通讯录后台管理系统

    通过配置文件和注解,hibernate可以自动将Java对象与数据库表进行绑定,实现了数据的透明化访问。在电子通讯录系统中,hibernate负责管理联系人对象和数据库之间的交互,包括数据的增删改查操作,大大降低了开发难度...

    在线投票系统(Hibernate技术).rar

    8. **事件监听和拦截器**:Hibernate提供了事件监听和拦截器机制,允许我们在特定操作(如对象保存、更新、删除)前后插入自定义代码,例如日志记录、权限验证等。 9. **性能优化**:在大型投票系统中,可能需要...

    mysql自动生成实体类

    在IT行业中,数据库管理和数据操作是至关重要的环节,MySQL作为一款广泛应用的关系型数据库管理系统,它的功能强大且易于使用。在开发过程中,为了提高效率,我们经常需要将数据库中的表结构映射为Java对象,即实体...

    网上书城系统(Struts+Hibernate+Mysql)130222.rar

    比如,当用户添加书籍到购物车时,Hibernate会自动处理数据的插入操作,确保数据的一致性和完整性。 MySQL是世界上最流行的开源关系型数据库管理系统,被广泛应用于Web应用程序中。在这个网上书城系统中,MySQL存储...

    Hibernate 课件_配置文件详解

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

Global site tag (gtag.js) - Google Analytics