hibernate-----操作oracle

Hibernate的generator

1、identity:用于MySql/db2数据库。特点:递增

<id name="id" column="id">  
< generator class="identity"/>  
</id>

2、sequence:用于Oracle数据库

<id name="id" column="id">  
<generator class="sequence">  
<param name="sequence">序列名</param>  
</generator>  
</id>   

3、assigned:用户自定义id;

<id name="id" column="id">   
<generator class="assigned"/>  
</id>  

4、foreign

<hibernate-mapping  package="com.entity"><!-- 实体类所在的包名 -->
           <class  name="Cart" table="t_cart">
             <id  name="cartId" >
                  <generator class="foreign">
                    <param name="property">vipId</param>
                  </generator>
             </id>
               <property name="cartNum"></property>
               <property name="cartPrice"></property>              
            <one-to-one name="vipId" class="com.entity.VipInfo" constrained="true" cascade="all"></one-to-one>
        </class>    
</hibernate-mapping>

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">
<hibernate-mapping>
	<class name="com.joyin.ticm.dc.repay.model.DcTrusRepay" table="DC_TRUS_REPAY">
		<comment>委托本息处理与投资主体信息表</comment>
		<id name="seqid" type="java.lang.Integer">
			<column name="SEQID" />
			<generator class="sequence">
            	<param name="sequence">S_DC_TRUS_REPAY</param>
            </generator>
		</id>
		<timestamp name="lstmntdate" column="LSTMNTDATE" source="db" />
		<property name="linkid" type="java.lang.String">
			<column name="LINKID" length="40" />
		</property>
		<property name="reqid" type="java.lang.String">
			<column name="REQID" length="40" />
		</property>
		<property name="pepaytype" type="java.lang.String">
			<column name="PEPAYTYPE" length="10" />
		</property>
		<property name="recint" type="java.math.BigDecimal">
			<column name="RECINT" precision="26" scale="4" />
		</property>
		<property name="trustamt" type="java.math.BigDecimal">
			<column name="TRUSTAMT" precision="26" scale="4" />
		</property>
		<property name="totalamt" type="java.math.BigDecimal">
			<column name="TOTALAMT" precision="26" scale="4" />
		</property>
		<property name="lstmntuser" type="java.lang.String">
			<column name="LSTMNTUSER" length="20" />
		</property>
		<property name="effectflag" type="java.lang.String">
			<column name="EFFECTFLAG" length="1" />
		</property>
		<property name="orgid" type="java.lang.String">
			<column name="ORGID" length="20" />
		</property>
		<property name="orgname" type="java.lang.String">
			<column name="ORGNAME" length="50" />
		</property>
		<property name="repayamt" type="java.math.BigDecimal">
			<column name="REPAYAMT" precision="26" scale="4" />
		</property>
		<property name="field1" type="java.lang.String">
			<column name="FIELD1" length="100" />
		</property>
		<property name="field2" type="java.lang.String">
			<column name="FIELD2" length="100" />
		</property>
		<property name="field3" type="java.lang.String">
			<column name="FIELD3" length="100" />
		</property>
	</class>
</hibernate-mapping>

BaseDao(重点是继承HibernateDaoSupport)

//全部是都是HibernateDaoSupport方法

Query query = this.getSession().createQuery(hql);
query.setFirstResult(0);
query.setMaxResults(max);
return query.list();


Session session = getSession();
Object o = session.get(clazz, id);
session.delete(o);
session.flush();

getHibernateTemplate().save(object);
getHibernateTemplate().flush();

getHibernateTemplate().saveOrUpdate(object);

this.getSession().update(o);
this.getSession().flush();

//根据对象ID查找实体对象
this.getHibernateTemplate().get(clazz, id);

  

原文地址:https://www.cnblogs.com/yanxiaoge/p/14157244.html