`
Clayz
  • 浏览: 297080 次
  • 性别: Icon_minigender_1
  • 来自: 东京
社区版块
存档分类
最新评论

Hibernate annotation简单配置

阅读更多
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
        http://www.springframework.org/schema/beans/spring-beans-2.5.xsd  
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-2.5.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop.xsd">

    <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>WEB-INF/config/datasource.properties</value>
            </list>
        </property>
    </bean>

    <context:component-scan base-package="com.test.hrrs" />

    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
        <property name="driverClassName" value="${driver}" />
        <property name="url" value="${url}" />
        <property name="username" value="${username}" />
        <property name="password" value="${password}" />
    </bean>

    <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">${hibernate.dialect}</prop>
                <prop key="hibernate.generate_statistics">${hibernate.generate.statistics}</prop>
                <prop key="hibernate.show_sql">${hibernate.showSQL}</prop>
                <prop key="connection.useUnicode">${hibernate.connection.useUnicode}</prop>
                <prop key="connection.characterEncoding">${hibernate.connection.characterEncoding}</prop>
                <prop key="hibernate.autoReconnect">${hibernate.autoReconnect}</prop>
            </props>
        </property>
        <property name="annotatedClasses">
            <list>
                <value>com.test.hrrs.entity.user.User</value>
            </list>
        </property>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"></property>
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager" />
</beans>

 

/**
 * 
 */
package com.test.hrrs.entity;

import java.io.Serializable;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

import org.hibernate.annotations.GenericGenerator;

/**
 * @author Clay Zhong, zjclay@gmail.com
 * @date May 9, 2009
 */
@MappedSuperclass
public class BaseEntity implements Serializable {
    private static final long serialVersionUID = -7551458114675415168L;

    protected String id;
    protected Date createdDate;
    protected Date updatedDate;
    protected Date expiredDate;

    public boolean equals(Object obj) {
        if (obj instanceof BaseEntity) {
            return ((BaseEntity) obj).getId().equals(id);
        } else {
            return false;
        }
    }

    public int hashCode() {
        return id.hashCode() * 17;
    }

    @Id
    @GeneratedValue(generator = "system-uuid")
    @GenericGenerator(name = "system-uuid", strategy = "uuid")
    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    @Column(name = "created_date")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }

    @Column(name = "updated_date")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getUpdatedDate() {
        return updatedDate;
    }

    public void setUpdatedDate(Date updatedDate) {
        this.updatedDate = updatedDate;
    }

    @Column(name = "expired_date")
    @Temporal(TemporalType.TIMESTAMP)
    public Date getExpiredDate() {
        return expiredDate;
    }

    public void setExpiredDate(Date expiredDate) {
        this.expiredDate = expiredDate;
    }
}

 

/**
 * 
 */
package com.test.hrrs.entity.user;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

import com.test.hrrs.entity.BaseEntity;

/**
 * @author Clay Zhong, zjclay@gmail.com
 *
 * @date Jun 20, 2009
 */
@Entity
@Table(name = "user")
public class User extends BaseEntity {
    private static final long serialVersionUID = -8755593241668230921L;

    private String username;
    private String password;
    private String email;

    public String toString() {
        return new StringBuilder("[User Entity] id: ").append(id).append(", name: ").append(username).toString();
    }

    @Column(nullable = false, length = 45, unique = true)
    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    @Column(nullable = false, length = 45)
    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Column(nullable = false, length = 100, unique = true)
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}
分享到:
评论

相关推荐

    Hibernate Annotation 学习笔记

    4. 配置`hibernate.cfg.xml`:这是Hibernate的基本配置文件,包含了数据库连接信息和其他设置。 5. `UserBA`类:编写业务逻辑,如添加用户,通过`HibernateUtils.getSession()`获取Session,然后进行CRUD操作。 ...

    sping hibernate Annotation(注释配置) demo(例子)

    总结来说,这个 "Spring Hibernate Annotation demo" 展示了如何在 Spring 框架中使用注解配置来管理依赖,以及如何利用 Hibernate 的注解进行数据持久化。同时,它还涉及到了 Flex 前端与后端的交互。通过学习这个 ...

    Hibernate Annotation入门

    而Hibernate Annotation是Hibernate的一个重要特性,它通过在Java类和字段上添加注解来简化数据库表和实体类之间的映射配置。这篇博文将带你了解如何使用Hibernate Annotation进行开发。 首先,我们需要理解Java...

    hibernate annotation api chm文件

    《Hibernate Annotation API详解》 Hibernate是一个流行的Java持久化框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是底层的数据访问细节。在Hibernate 3.3版本中,引入了Annotation API,这是一种...

    hibernate annotation 中文文档

    ### Hibernate Annotation 中文文档知识点概览 #### 一、创建注解项目 ##### 1.1 系统需求 在创建一个使用 Hibernate 注解的项目之前,需要满足一定的系统环境需求,例如支持 Java 的开发环境、JDK 版本、支持 ...

    Hibernate Annotation笔记

    为了更好地理解Hibernate Annotation是如何工作的,我们可以通过以下步骤来设置一个基本的环境: 1. **安装和配置Hibernate Annotation** - **添加依赖库**:首先,确保项目中包含Hibernate 3.2及以上版本的库。...

    hibernate annotation 3.40

    在Hibernate 3.4.0版本中,Annotation的引入极大地简化了对象关系映射(ORM)的过程,使得开发者无需编写大量的XML配置文件,而是直接在Java实体类上使用注解进行数据映射。这一改变提高了开发效率,增强了代码的...

    java SSH项目 hibernate annotation

    这个项目中,Hibernate作为ORM(对象关系映射)工具被用来处理数据库操作,而使用了注解方式来配置Hibernate,这是一种更加简洁和灵活的配置方法。 1. **Struts**:Struts 是一个MVC(Model-View-Controller)框架...

    hibernate_annotation_中文帮助文档

    系统配置涉及环境变量设置,如JDBC驱动,以及Hibernate的配置文件(如`hibernate.cfg.xml`)。 2. **实体Bean映射** - **EJB3注解**:实体Bean是ORM的核心,EJB3注解提供了在Java类上直接声明数据库映射的方法。 ...

    hibernate annotation帮助文档

    ### Hibernate Annotation 帮助文档知识点总结 #### 1. 创建注解项目 - **系统需求**:在开始创建一个支持 Hibernate 注解的项目之前,需要确保满足以下系统需求: - Java 开发环境(例如 JDK 1.8 或更高版本)。...

    Hibernate Annotation 基于外键的一对多双向关联

    总之,Hibernate的注解使得对象关系映射变得简单直观。在实现基于外键的一对多双向关联时,理解注解的含义和作用至关重要,同时还需要考虑性能优化和潜在的问题,确保数据的正确性和一致性。通过阅读源码和实践,...

    hibernate_annotation中文版

    创建一个简单的User实体类,使用Hibernate Annotation进行注解: ```java @Entity @Table(name = "users") public class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; ...

    hibernate annotation+slf4j

    在Hibernate的配置文件(如hibernate.cfg.xml)中,设置`show_sql`为`true`,配合SLF4J,可以将执行的SQL语句输出到日志中。 四、实践案例 以一个简单的用户管理为例,我们可以创建User实体类,使用Hibernate注解...

    Hibernate -annotation 学习笔记

    通过编写简单的HelloWorld程序,引入Hibernate和Annotation,创建第一个数据库操作实例,了解基本的Session和Transaction使用。 ### 第 7 课 建立 Annotation 版本的 HelloWorld 在此阶段,将HelloWorld示例转换为...

    Struts2+Spring2+Hibernate3+Annotation所需JAR包

    ### Struts2+Spring2+Hibernate3+Annotation所需JAR包详解 在Java Web开发领域,Struts2、Spring2和Hibernate3是三个非常重要的框架,它们分别负责Web层、业务逻辑层和服务持久化层的功能实现。为了更好地整合这三...

    Hibernate Annotation Reference

    标题:Hibernate Annotation Reference 描述:本文件为Hibernate注解的详尽参考指南,全面解析了如何在项目中利用Hibernate框架的注解功能进行实体映射、查询定义以及数据验证等高级操作。 ### 一、设置注解项目 ...

    hibernate _annotation 注解编程

    ### Hibernate Annotation注解编程知识点详解 #### 一、概述与设置环境 - **概述**:Hibernate 是一个流行的 Java 持久层框架,它提供了一种面向对象的方式来处理数据库操作。Hibernate 支持多种元数据定义方式,...

Global site tag (gtag.js) - Google Analytics