`
- 浏览:
496612 次
- 性别:
- 来自:
上海
-
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)
)
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
**JSP+Struts+Hibernate办公自动化管理系统** 这个系统是一个基于Java Web技术的办公自动化解决方案,采用经典的MVC(Model-View-Controller)设计模式,利用JSP、Struts和Hibernate三大技术栈来构建。这样的架构...
4. 在MyEclipse中,可以使用"New -> Spring Beans"生成这些配置文件,并自动导入所需的jar包。 对于数据库MySQL,我们需要确保其正确安装并配置在Hibernate的配置文件中,包括URL、用户名、密码等信息。同时,为了...
Native策略是一种智能选择策略,Hibernate会根据当前使用的数据库类型自动选择最合适的主键生成策略,如identity、sequence或hilo。这种方式的最大优点是灵活性和兼容性,开发者无需关心底层数据库的细节,可以专注...
### 常用Hibernate映射配置详解 #### 1. hibernate-mapping节点解析 `hibernate-mapping`节点是Hibernate映射文件中的顶级节点,用于定义一系列配置选项,控制整个映射文件的行为和映射规则。这些配置包括数据库...
### Hibernate自动导入SQL文件import.sql国际化编码问题的解决方案 #### 背景介绍 在使用Hibernate框架时,经常需要在项目启动初期或者数据库更新时自动执行一些SQL脚本(如DDL脚本)来创建或更新数据库结构。这些...
同时,还需要配置Hibernate的实体扫描路径,以便自动加载映射文件。 3. **配置SessionFactory**:在Spring的配置文件(如applicationContext.xml)中,声明一个SessionFactory的Bean,并注入上面的hibernate.cfg....
【hibernate基本配置及使用方法】 Hibernate是一个流行的开源对象关系映射(ORM)框架,它简化了Java应用程序与关系数据库之间的交互。本教程将详细解释Hibernate的基本配置和使用步骤,帮助初学者快速掌握这一强大...
### Hibernate注解配置详解 #### 一、概述 Hibernate 是一款强大的对象关系映射(ORM)框架,它简化了Java应用程序与数据库之间的交互过程。在使用Hibernate的过程中,开发者可以通过注解来实现对象与数据库表之间...
### Hibernate 主键生成策略与配置详解 #### 一、概述 在使用Hibernate进行持久化操作时,合理选择和配置主键生成策略对于确保数据的一致性和优化性能至关重要。本文将详细介绍几种常见的主键生成策略,并结合示例...
在本文中,我们将详细探讨如何在MyEclipse 6.5中配置Hibernate,以便进行Java开发。Hibernate是一种流行的ORM(对象关系映射)框架,它允许开发者用面向对象的方式操作数据库,简化了数据库操作。以下是一步步的配置...
7. `hibernate.jdbc.use_get_generated_keys`:在插入数据后,允许使用 JDBC 的 `getGeneratedKeys()` 方法获取自动生成的主键。 了解并正确配置这些属性对于实现高效、可靠的 Hibernate 应用至关重要。它们可以...
### Hibernate配置文件详解 #### Hibernate概述 Hibernate是一个开源的对象关系映射(ORM)框架,它为Java应用程序提供了简化的方式去处理数据库操作。通过使用Hibernate,开发者可以将Java对象映射到数据库表,并...
`default`属性被设置为`sysdate()`,这是一个SQL函数,用于获取当前系统日期和时间。因此,在插入或更新记录时,如果该字段没有被显式设置,那么它的值将自动设置为当前的系统日期和时间。 #### 控制字段是否参与...
最后,点击 Finish 按钮,系统将自动生成 HibernateSessionFactory.java 及 Hibernate.cfg.xml 配置文件,并将 Hibernate 环境所需要的外部包文件也加入到 CLASSPATH 当中。 通过上述步骤,我们已经成功地在 ...
1. **配置Hibernate的自动DDL生成**:默认情况下,Hibernate提供了`hibernate.hbm2ddl.auto`属性,可以设置为"create"、"update"等值,使得在应用启动时根据实体类自动创建或更新数据库表。为了实现自动新增参数,...
Hibernate会根据映射文件中的配置信息自动生成SQL语句,并执行相应的数据库操作。 Hibernate框架的配置文件通常包含以下内容: - 数据库连接信息,如URL、用户名和密码。 - 数据库方言设置,即Hibernate针对不同...
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 是一款优秀的 ORM(对象关系映射)框架,它能够极大地简化数据库操作,并提供多种查询方式来满足不同的业务需求。 #...