`
玻璃无处不在
  • 浏览: 19132 次
社区版块
存档分类
最新评论

Hibernate4 .1.2 Annotation实例

 
阅读更多
步骤
(1)添加jar包,尤其要找对oracle驱动jar包

(2)hibernate.cfg.xml 配置

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

	<session-factory>
		<property name="connection.username">testuser</property>
		<property name="connection.url">
			jdbc:oracle:thin:@127.0.0.1:1521:ORCL
		</property>
		<property name="dialect">
			org.hibernate.dialect.Oracle10gDialect
		</property>
		<property name="connection.password">testuser</property>
		<property name="connection.driver_class">
			oracle.jdbc.driver.OracleDriver
		</property>
		<property name="connection.autocommit">false</property>
		<property name="hibernate.connection.pool_size">10</property> 
		<property name="hibernate.current_session_context_class">thread</property>  
        <property name="hbm2ddl.auto">update</property>
		<property name="show_sql">true</property>
		<property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
	</session-factory>

</hibernate-configuration>


(3)建立实体对象

package com.neal.entity;  
  
import java.io.Serializable;  
import java.util.Date;  
  
import javax.persistence.Column;  
import javax.persistence.Entity;  
import javax.persistence.GeneratedValue;  
import javax.persistence.GenerationType;  
import javax.persistence.Id;  
import javax.persistence.Temporal;  
import javax.persistence.TemporalType;  
  
@Entity  
public class C_user implements Serializable{  
    /** 
     *  
     */  
    private static final long serialVersionUID = 1L;  
    private int id;  
    private String name;  
    private Date birthday;  
      
    @Id @GeneratedValue(strategy=GenerationType.AUTO)  
    public int getId() {  
        return id;  
    }  
    public void setId(int id) {  
        this.id = id;  
    }  
    @Column(length=10)  
    public String getName() {  
        return name;  
    }  
    public void setName(String name) {  
        this.name = name;  
    }  
    @Temporal(TemporalType.DATE)  
    public Date getBirthday() {  
        return birthday;  
    }  
    public void setBirthday(Date birthday) {  
        this.birthday = birthday;  
    }        
} 


(4)测试

package junit.test;  
  
import java.util.Date;  
  
import org.hibernate.Session;  
import org.hibernate.SessionFactory;  
import org.hibernate.Transaction;  
import org.hibernate.cfg.Configuration;  
import org.hibernate.service.ServiceRegistry;  
import org.hibernate.service.ServiceRegistryBuilder;  
import org.junit.BeforeClass;  
import org.junit.Test;  
  
import com.neal.entity.C_user;  
  
public class HibernateTest {  
  
    private static SessionFactory sessionFactory;  
    @BeforeClass  
    public static void setUpBeforeClass() throws Exception {  
        Configuration cfg = new Configuration();      
        cfg.configure(); // 重要  
        ServiceRegistry sr = new ServiceRegistryBuilder().applySettings(cfg.getProperties()).buildServiceRegistry();  
        try {  
            sessionFactory = cfg.configure()  
                    .addAnnotatedClass(C_user.class)  
                    .buildSessionFactory(sr);  
        } catch (Exception e) {  
            // TODO Auto-generated catch block  
            e.printStackTrace();  
        }  
    }  
  
    @Test  
    public void test() {  
          
        Session session = sessionFactory.openSession();  
        Transaction tx = session.beginTransaction();  
        C_user user = new C_user();  
        user.setBirthday(new Date());  
        user.setName("xiaohong");  
          
        session.persist(user);  
        tx.commit();  
        session.close();  
        System.out.println("end");  
    }  
  
} 


(5)结果
15:57:08,208  INFO Version:37 - HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
15:57:08,216  INFO Version:41 - HHH000412: Hibernate Core {4.1.2.Final}
15:57:08,217  INFO Environment:239 - HHH000206: hibernate.properties not found
15:57:08,219  INFO Environment:342 - HHH000021: Bytecode provider name : javassist
15:57:08,237  INFO Configuration:1924 - HHH000043: Configuring from resource: /hibernate.cfg.xml
15:57:08,237  INFO Configuration:1943 - HHH000040: Configuration resource: /hibernate.cfg.xml
15:57:08,272  WARN DTDEntityResolver:74 - HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
15:57:08,291  INFO Configuration:2065 - HHH000041: Configured SessionFactory: null
15:57:08,318  INFO Configuration:1924 - HHH000043: Configuring from resource: /hibernate.cfg.xml
15:57:08,318  INFO Configuration:1943 - HHH000040: Configuration resource: /hibernate.cfg.xml
15:57:08,320  WARN DTDEntityResolver:74 - HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
15:57:08,326  INFO Configuration:2065 - HHH000041: Configured SessionFactory: null
15:57:08,440  INFO DriverManagerConnectionProviderImpl:96 - HHH000402: Using Hibernate built-in connection pool (not for production use!)
15:57:08,442  INFO DriverManagerConnectionProviderImpl:129 - HHH000115: Hibernate connection pool size: 10
15:57:08,442  INFO DriverManagerConnectionProviderImpl:132 - HHH000006: Autocommit mode: false
15:57:08,443  INFO DriverManagerConnectionProviderImpl:146 - HHH000401: using driver [oracle.jdbc.driver.OracleDriver] at URL [jdbc:oracle:thin:@127.0.0.1:1521:ORCL]
15:57:08,443  INFO DriverManagerConnectionProviderImpl:151 - HHH000046: Connection properties: {user=testuser, password=****, autocommit=false}
15:57:08,465  INFO Dialect:122 - HHH000400: Using dialect: org.hibernate.dialect.Oracle10gDialect
15:57:08,473  INFO LobCreatorBuilder:85 - HHH000422: Disabling contextual LOB creation as connection was null
15:57:08,483  INFO TransactionFactoryInitiator:68 - HHH000399: Using default transaction strategy (direct JDBC transactions)
15:57:08,486  INFO ASTQueryTranslatorFactory:48 - HHH000397: Using ASTQueryTranslatorFactory
15:57:08,651  INFO SchemaUpdate:182 - HHH000228: Running hbm2ddl schema update
15:57:08,651  INFO SchemaUpdate:193 - HHH000102: Fetching database metadata
15:57:09,066  INFO SchemaUpdate:205 - HHH000396: Updating schema
15:57:09,154  INFO TableMetadata:65 - HHH000261: Table found: TESTUSER.C_USER
15:57:09,154  INFO TableMetadata:66 - HHH000037: Columns: [id, birthday, name]
15:57:09,155  INFO TableMetadata:68 - HHH000108: Foreign keys: []
15:57:09,155  INFO TableMetadata:69 - HHH000126: Indexes: [sys_c0010874]
15:57:09,155  INFO SchemaUpdate:240 - HHH000232: Schema update complete
Hibernate: select hibernate_sequence.nextval from dual
Hibernate: insert into C_user (birthday, name, id) values (?, ?, ?)
end

分享到:
评论

相关推荐

    SSH2框架搭建实例

    3、struts2的配置采用xml(目前不支持annotation),spring和hibernate使用annotation配置; 4、开发者下载该应用后,只需修改WebRoot\WEB-INF\applicationContext.xml,将其中数据库连接信息修改为自己的即可;

    Hibernate中文详细学习文档

    1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...

    Hibernate 中文 html 帮助文档

    20.1.4. 使用Ant(Using Ant) 20.1.5. 对schema的增量更新(Incremental schema updates) 20.1.6. 用Ant来增量更新schema(Using Ant for incremental schema updates) 20.1.7. Schema 校验 20.1.8. 使用Ant进行schema...

    hibernate3.04中文文档.chm

    20.5.4. 一次性删除(One shot delete) 20.6. 监测性能(Monitoring performance) 20.6.1. 监测SessionFactory 20.6.2. 数据记录(Metrics) 21. 工具箱指南 21.1. Schema自动生成(Automatic schema ...

    HibernateAPI中文版.chm

    23.4.4. Content based discrimination 23.4.5. Associations on alternate keys 24. 最佳实践(Best Practices) 表格清单 1. Hibernate v3翻译团队 3.1. Hibernate JDBC属性 3.2. Hibernate数据源属性 3.3. ...

    Hibernate教程

    20.5.4. 一次性删除(One shot delete) 20.6. 监测性能(Monitoring performance) 20.6.1. 监测SessionFactory 20.6.2. 数据记录(Metrics) 21. 工具箱指南 21.1. Schema自动生成(Automatic schema ...

    最全Hibernate 参考文档

    1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 1.5. 结语 2. 架构(Architecture) ...23.4.4. Associations on alternate keys 24. 最佳实践(Best Practices)

    Hibernate+中文文档

    1.2. 第一部分 - 第一个Hibernate应用程序 1.2.1. 第一个class 1.2.2. 映射文件 1.2.3. Hibernate配置 1.2.4. 用Ant构建 1.2.5. 启动和辅助类 1.2.6. 加载并存储对象 1.3. 第二部分 - 关联映射 1.3.1. ...

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

    4. 持久化类(Persistent Classes) 4.1. 一个简单的POJO例子 4.1.1. 实现一个默认的(即无参数的)构造方法(constructor) 4.1.2. 提供一个标识属性(identifier property)(可选) 4.1.3. 使用非final的类 ...

    hibernate 框架详解

    4. 配置 4.1. 可编程的配置方式 4.2. 获得SessionFactory 4.3. JDBC连接 4.4. 可选的配置属性 4.4.1. SQL方言 4.4.2. 外连接抓取(Outer Join Fetching) 4.4.3. 二进制流 (Binary Streams) 4.4.4. 二级缓存...

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

    23.4.4. Content based discrimination 23.4.5. Associations on alternate keys 24. 最佳实践(Best Practices) 表格清单 1. Hibernate v3翻译团队 3.1. Hibernate JDBC属性 3.2. Hibernate数据源属性 3.3. ...

    Hibernate3的帮助文档

    6.4.2. 使用 JDK 5.0 的注解(Annotation) 7. 集合类(Collections)映射 7.1. 持久化集合类(Persistent collections) 7.2. 集合映射( Collection mappings ) 7.2.1. 集合外键(Collection foreign keys) 7.2.2. ...

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

    23.4.4. Content based discrimination 23.4.5. Associations on alternate keys 24. 最佳实践(Best Practices) 表格清单 1. Hibernate v3翻译团队 3.1. Hibernate JDBC属性 3.2. Hibernate数据源属性 3.3. ...

    Hibernate3+中文参考文档

    前言 1. 翻译说明 2. 版权声明 1. 在Tomcat中快速上手 1.1. 开始Hibernate之旅 1.2. 第一个持久化类 1.3. 映射cat 1.4. 与Cat同乐 ...23.4.4. Associations on alternate keys 24. 最佳实践(Best Practices)

    Hibernate Annotation Reference

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

    Spring/泛型Hibernate的实现

    1. **管理Hibernate SessionFactory**:Spring可以通过配置文件来创建和管理`SessionFactory`实例。 2. **事务管理**:Spring提供了一套完整的事务管理机制,可以方便地与Hibernate结合使用。 3. **异常转换**:...

    Hibernate参考文档

    20.1.4. 使用Ant(Using Ant) 20.1.5. 对schema的增量更新(Incremental schema updates) 20.1.6. 用Ant来增量更新schema(Using Ant for incremental schema updates) 20.1.7. Schema 校验 20.1.8. 使用Ant进行schema...

    HibernateValidatorJSR303的参考实现使用指南.pdf

    1.2. 添加约束 1.3. 校验约束 1.4. 更进一步 2. Validation step by step 2.1. 定义约束 2.1.1. 字段级(field level) 约束 2.1.2. 属性级别约束 2.1.3. 类级别约束 2.1.4. 约束继承 2.1.5. 对象图 2.2. 校验约束 ...

    Spring中文帮助文档

    7.10.4. ThreadLocal目标源 7.11. 定义新的Advice类型 7.12. 更多资源 8. 测试 8.1. 简介 8.2. 单元测试 8.2.1. Mock对象 8.2.2. 单元测试支持类 8.3. 集成测试 8.3.1. 概览 8.3.2. 使用哪个支持框架 ...

    Spring API

    7.10.4. ThreadLocal目标源 7.11. 定义新的Advice类型 7.12. 更多资源 8. 测试 8.1. 简介 8.2. 单元测试 8.2.1. Mock对象 8.2.2. 单元测试支持类 8.3. 集成测试 8.3.1. 概览 8.3.2. 使用哪个支持框架 ...

Global site tag (gtag.js) - Google Analytics