爱玺玺

爱玺玺的生活日记本。wx:lb87626

myecplise配置hibernate注意事项,映射配置文件

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<!-- 

    Mapping file autogenerated by MyEclipse Persistence Tools

-->

<hibernate-mapping>

    <class name="cn.lb.domain.Employer" table="EMPLOYER" schema="XIAOMING">

        <id name="id" type="java.lang.Integer">

            <column name="ID" precision="22" scale="0" />

            <generator class="sequence">

              <param name="sequence">emp_seq</param>

            </generator>

        </id>

        <property name="name" type="java.lang.String">

            <column name="NAME" length="40" />

        </property>

        <property name="hiredate" type="java.util.Date">

            <column name="HIREDATE" length="7" />

        </property>

    </class>

</hibernate-mapping>


注意Integer首字母要大写

主键使用Integer

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<!-- 

    Mapping file autogenerated by MyEclipse Persistence Tools

-->

<hibernate-mapping>

    <class name="cn.lb.domain.Employer" table="EMPLOYER" schema="XIAOMING">

        <id name="id" type="java.lang.Integer">

            <column name="ID" precision="22" scale="0" />

            <generator class="sequence">

               <param name="sequence">emp_seq</param>

            </generator>

        </id>

        <property name="name" type="java.lang.String">

            <column name="NAME" length="40" />

        </property>

        <property name="hiredate" type="java.util.Date">

            <column name="HIREDATE" length="7" />

        </property>

    </class>

</hibernate-mapping>


主键使用Long

<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<!-- 

    Mapping file autogenerated by MyEclipse Persistence Tools

-->

<hibernate-mapping>

    <class name="cn.lb.domain.Employer" table="EMPLOYER" schema="XIAOMING">

        <id name="id" type="java.lang.Integer">

            <column name="ID" precision="22" scale="0" />

            <generator class="sequence">

               <param name="sequence">emp_seq</param>

            </generator>

        </id>

        <property name="name" type="java.lang.String">

            <column name="NAME" length="40" />

        </property>

        <property name="hiredate" type="java.util.Date">

            <column name="HIREDATE" length="7" />

        </property>

    </class>

</hibernate-mapping>


生成pojo文件

package cn.lb.domain;


import java.util.Date;


/**

 * Employer entity. @author MyEclipse Persistence Tools

 */


public class Employer implements java.io.Serializable {


// Fields


private long id;

private String name;

private Date hiredate;


// Constructors


/** default constructor */

public Employer() {

}


/** full constructor */

public Employer(String name, Date hiredate) {

this.name = name;

this.hiredate = hiredate;

}


// Property accessors


public long getId() {

return this.id;

}


public void setId(Long id) {

this.id = id;

}


public String getName() {

return this.name;

}


public void setName(String name) {

this.name = name;

}


public Date getHiredate() {

return this.hiredate;

}


public void setHiredate(Date hiredate) {

this.hiredate = hiredate;

}


}


测试文件

package cn.lb.view;


import java.util.Date;


import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.Transaction;

import org.hibernate.cfg.Configuration;


import cn.lb.domain.Employer;


public class Test {

    public static void main(String[] args){

    //BasicConfigurator.configure(); //自动快速地使用缺省Log4j环境。


    Configuration configuration=new Configuration().configure();

SessionFactory sessionFactory=configuration.buildSessionFactory();

Session session=sessionFactory.openSession();

Transaction transaction=null;

try {

Employer emp=new Employer();

emp.setName("申公豹Long");

emp.setHiredate(new Date());

transaction=session.beginTransaction();

//增

session.save(emp);

//查

//Emp emp2=(Emp) session.get(Emp.class, 2);

//System.out.println(emp.getUname());

//改

//Emp emp3=(Emp) session.load(Emp.class, 3);

//emp3.setUname("二郎神");

//删除

//Employer emp4=(Employer) session.load(Employer.class, 3);

//session.delete(emp4);

transaction.commit();

} catch (Exception e) {

if(transaction!=null){

transaction.rollback();

}

throw new RuntimeException(e.getMessage());

}finally{

if(session!=null &&session.isOpen()){

session.close();

}

}

    }

}


oracle创建的数据库和索引,这里没有记录。

测试成功:

SQL> select * from employer;

                                     ID NAME                                     HIREDATE

--------------------------------------- ---------------------------------------- -----------

                                     13 申公豹                                   2018/2/27 2

                                     14 申公2222222222豹                         2018/2/27 2

                                     16 申公豹Int                                2018/2/27 2

                                     15 申公豹Int                                2018/2/27 2

                                     17 申公豹Long                               2018/2/27 2

                                     10 申公豹                                   2018/2/26 2

6 rows selected


发表评论:

Powered By Z-BlogPHP 1.4 Deeplue Build 150101

Copyright Your WebSite.Some Rights Reserved.

蜀ICP备11021721号-5