跨向Hibernate(二)

原创 2005年04月27日 13:18:00

重新在Eclipse下再来过一遍,步骤有些不同。(eclipse+myEclipse)

1、创建一个普通的Java项目

2、加入用myeclipse导入Hibernate的包

3、加入MySql的JDBC包(应该先在myeclipse中配置数据库的服务)

4、创建一下数据POJO(忘了是不是这么叫,先这么写着吧)

5、在项目根结点用右键,查看项目属性,在Myeclipse-hibernate中添加(标准)Standard Hibernate包

6、在项目根结点用右键,运行myeclipse中的run-XDocLet,生成POJO的hbm文件

7、在项目根结点用右键,运行myeclipse中的add Hibernate Capabilities …(这个功能好象只能使用一次)

  在向导中a、加入数据库的接入方式 b、加入POJO的hbm文件 c、可指定一个目录自动生成一个SessionFactory类

8、创建一个测试类,运行;例如:

public class Test {

    public static void main(String[] args) throws HibernateException {
        Session aSession = HibernateSessionFactory.currentSession();
        Transaction tx=aSession.beginTransaction();
       
        Cat cat=new Cat();
        cat.setName("Tomcat");
        cat.setSex("T");
        cat.setWeight(12.1);
       
        aSession.save(cat);
        tx.commit();
       
        HibernateSessionFactory.closeSession();
    }
}

附:

可以看到,前前后后总共就只创建了两个类,其他全部自动生成。

要特别说明的是,POJO中一定要加入XDoclet的标签,不然Hibernate会怠工,hbm文件是生成不出来的。示例如下:

/*
 * Created on 2005-4-26
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.hibernate.test;

/**
 * @author julysea
 *
 * TODO To change the template for this generated type comment go to
 * Window - Preferences - Java - Code Style - Code Templates
 */

/**
 * @hibernate.class
 *   table="cat"
 */
public class Cat  {
    String cat_id;
    String name;
    String sex;
    double weight;
   
    public Cat() {
       
    }

    /**
     * @hibernate.id
     * column = "cat_id"
     * unsaved-value = "true"
     * generator-class = "uuid.hex"
     * @return Returns the cat_id.
     */

   

    public String getId() {
        return cat_id;
    }
    /**
     * @param cat_id The cat_id to set.
     */
    public void setId(String cat_id) {
        this.cat_id = cat_id;
    }
    /**
     * @hibernate.property
     * @return Returns the name.
     */
    public String getName() {
        return name;
    }
    /**
     * @param name The name to set.
     */
    public void setName(String name) {
        this.name = name;
    }
    /**
     * @hibernate.property
     * @return Returns the sex.
     */
    public String getSex() {
        return sex;
    }
    /**
     * @param sex The sex to set.
     */
    public void setSex(String sex) {
        this.sex = sex;
    }
    /**
     * @hibernate.property
     * @return Returns the weight.
     */
    public double getWeight() {
        return weight;
    }
    /**
     * @param weight The weight to set.
     */
    public void setWeight(double weight) {
        this.weight = weight;
    }
}

 

跨向Hibernate(一)

从读Hibernate的手册开始了学习Hibernate的历程。《与猫同乐》----乐的有些尴尬,因为在99%时,测试用了普通Java类,长时间滞留不前,把我的猫忘在门外了 1、配置数据源。在Tomc...
  • Think2Exist
  • Think2Exist
  • 2005年04月27日 13:20
  • 1078

【Hibernate】【一,二,三级缓存】

一级缓存 一级缓存生命周期跟一个session的生命周期相同,最多一个请求 一级缓存就是一个Map对象.作用:便于对对象的管理 用session查询的对象,其实都是一级缓存的数据 原理:用seessi...
  • weixin_40315550
  • weixin_40315550
  • 2018年01月03日 11:21
  • 31

Hibernate学习总结(二)

目录一、概述 二、Hibernate表与表之间关系 1.一对多关系 1.1 一对多Demo 1.1.1 entity类及映射配置 1.1.2 核心配置文...
  • qq_24912789
  • qq_24912789
  • 2017年05月31日 20:55
  • 162

hibernate级联join fetch查询记录数比正常要多的问题

String hql="select distinct cts from CommunicationType cts inner join fetch cts.collectionPoints  or...
  • wangbingqi
  • wangbingqi
  • 2012年06月23日 08:03
  • 458

Hibernate 事务处理

事务是指由一个或者多个SQL语句组成的工作单元,这个单元中SQL语句只要有一个SQL语句执行失败,就会撤销整个工作单元。  事务的成功取决于工作单元的所有SQL语句都执行成功,它必须具备ACID...
  • jazywoo123
  • jazywoo123
  • 2012年08月08日 14:21
  • 842

hibernate @Cache标签 的五种说明

使用@Cache(usage=CacheConcurrencyStrategy.)标签,有5种可选的缓存方案:   1,CacheConcurrencyStrategy.NONE   不适用,...
  • nickto2008
  • nickto2008
  • 2014年08月27日 15:32
  • 662

hibernate二级缓存 和 查询缓存

二级缓存和查询缓存都相当于一个map。 二级缓存缓存的key为id,value为实体对象。一般load(),iterate()使用到二级缓存,list()需要结合查询缓存使用。iterate()和li...
  • liu372267001
  • liu372267001
  • 2011年05月15日 15:20
  • 4480

Hibernate事务的几种配置方式

为了保证数据的一致性,在编程的时候往往需要引入事务这个概念。事务有4个特性:原子性、一致性、隔离性、持久性。          事务的种类有两种:编程式事务和声明式事务。编程式事务就是将事务处理放在...
  • guo315648865
  • guo315648865
  • 2015年01月21日 14:56
  • 3453

Hibernate学习总结(一)

1、什么是Hibernate Hibernate是轻量级JavaEE应用的持久层解决方案,是一个关系数据库ORM框架(ORM,对象关系映射 Object Relationship mapper) ...
  • u012750846
  • u012750846
  • 2015年09月07日 15:36
  • 815

struts+spring+hibernate登录功能包括简单增删改查

初识struts和hibernate很多东西都不是很懂呀,跟着网上的资源实现就简单的增删改查,其中hibernate的hql不是很会用,之前是在学习mybatis,现在一和hibernate对比,让我...
  • Fmuma
  • Fmuma
  • 2017年09月24日 13:32
  • 199
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:跨向Hibernate(二)
举报原因:
原因补充:

(最多只允许输入30个字)