用户注册的时候,注册时间应该是由数据库自动生成的,怎样通过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)
)
参考的这个
分享到:
相关推荐
【标题】"MyEclipse+MySql+Struts2+Hibernate3新闻发布系统"涉及的核心技术栈是JavaEE,包括MyEclipse开发环境、MySQL数据库、Struts2框架和Hibernate持久化框架,这些技术共同构建了一个新闻发布平台。让我们逐一...
为了实现这个功能,你需要了解JavaScript基础、DWR的API用法、Hibernate的配置和映射、以及MySQL的基本操作。同时,对于SQL语言的理解也很重要,因为可能需要编写SQL脚本来导入初始数据或者进行其他数据库维护工作。...
2. **Hibernate配置**:包括hibernate.cfg.xml文件,用于定义数据库连接参数、方言、缓存策略等。 3. **实体类(Entity)**:Java类与数据库表进行映射,通过注解(如@Entity)定义为实体。 4. **持久化...
4. 在MyEclipse中,可以使用"New -> Spring Beans"生成这些配置文件,并自动导入所需的jar包。 对于数据库MySQL,我们需要确保其正确安装并配置在Hibernate的配置文件中,包括URL、用户名、密码等信息。同时,为了...
Native策略是一种智能选择策略,Hibernate会根据当前使用的数据库类型自动选择最合适的主键生成策略,如identity、sequence或hilo。这种方式的最大优点是灵活性和兼容性,开发者无需关心底层数据库的细节,可以专注...
在本文中,我们将详细探讨如何在MyEclipse 6.5中配置Hibernate,以便进行Java开发。Hibernate是一种流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式操作数据库,简化了数据库操作。以下是一步步的配置...
MySQL是一个流行的开源关系型数据库管理系统,Maven是项目管理和综合工具,而Hibernate是一个对象关系映射(ORM)框架,它简化了Java应用与数据库之间的交互。 首先,MySQL作为后台存储系统,提供了稳定的数据存储...
标题中的“java网上书店 struts hibernate mysql”指的是一个基于Java技术栈的网上书店系统,该系统使用了Struts作为MVC框架,Hibernate作为对象关系映射(ORM)工具,以及MySQL作为后端数据库。这样的组合是Java ...
它提供了Java程序与MySQL数据库之间的通信接口,使得开发者能够在Hibernate中配置并连接到MySQL数据库,执行SQL语句并获取结果。 接下来是日志包,日志在软件开发中扮演着调试和监控系统运行状态的重要角色。这里有...
"chet_news"可能是项目的主要源代码或资源文件夹,可能包含Struts2配置文件(如struts.xml)、Hibernate配置文件(如hibernate.cfg.xml)、实体类(如News.java)、DAO(数据访问对象)层的接口和实现类、Action类...
### Hibernate注解配置详解 #### 一、概述 Hibernate 是一款强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互过程。在使用Hibernate的过程中,开发者可以通过注解来实现对象与数据库表之间...
【Hibernate配置】 在使用Hibernate时,通常需要配置Hibernate的XML映射文件(hbm.xml),定义对象和表之间的映射关系。此外,还可以使用Hibernate Query Language(HQL)进行数据库查询,这是一种面向对象的查询...
7. `hibernate.jdbc.use_get_generated_keys`:在插入数据后,允许使用 JDBC 的 `getGeneratedKeys()` 方法获取自动生成的主键。 了解并正确配置这些属性对于实现高效、可靠的 Hibernate 应用至关重要。它们可以...
通过配置文件和注解,hibernate可以自动将Java对象与数据库表进行绑定,实现了数据的透明化访问。在电子通讯录系统中,hibernate负责管理联系人对象和数据库之间的交互,包括数据的增删改查操作,大大降低了开发难度...
8. **事件监听和拦截器**:Hibernate提供了事件监听和拦截器机制,允许我们在特定操作(如对象保存、更新、删除)前后插入自定义代码,例如日志记录、权限验证等。 9. **性能优化**:在大型投票系统中,可能需要...
在IT行业中,数据库管理和数据操作是至关重要的环节,MySQL作为一款广泛应用的关系型数据库管理系统,它的功能强大且易于使用。在开发过程中,为了提高效率,我们经常需要将数据库中的表结构映射为Java对象,即实体...
比如,当用户添加书籍到购物车时,Hibernate会自动处理数据的插入操作,确保数据的一致性和完整性。 MySQL是世界上最流行的开源关系型数据库管理系统,被广泛应用于Web应用程序中。在这个网上书城系统中,MySQL存储...
### Hibernate配置文件详解 #### Hibernate概述 Hibernate是一个开源的对象关系映射(ORM)框架,它为Java应用程序提供了简化的方式去处理数据库操作。通过使用Hibernate,开发者可以将Java对象映射到数据库表,并...