当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:13:00  来源:本站整理

hibernate3学习笔记(二十三)|进阶特点(二)[Java编程]

赞助商链接



  本文“hibernate3学习笔记(二十三)|进阶特点(二)[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

4.Interceptor 介面:

您可以在开启Session时载入一个自订Interceptor,这个Interceptor会在对应的行动发生之前呼唤对应的办法,办法是让您定义的Interceptor实作Interceptor介面,介面的定义以下:

Interceptor.java
package org.hibernate;

import java.io.Serializable;
import java.util.Iterator;

import org.hibernate.type.Type;

public interface Interceptor {
   // 载入物件之前履行
   public
    boolean onLoad(Object entity, Serializable id, Object[] state, String[] propertyNames, Type[] types)
    throws CallbackException;

   // flush 时,假如发现有Dirty data,则履行此办法
   public
    boolean onFlushDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState,
              String[] propertyNames, Type[] types) throws CallbackException;

   // 储存物件前履行
   public
    boolean onSave(Object entity, Serializable id, Object[] state, String[] propertyNames, Type[] types)
    throws CallbackException;

   // 删除物件前履行
   public
    void onDelete(Object entity, Serializable id, Object[] state, String[] propertyNames, Type[] types)
    throws CallbackException;

   // 在 flush 前履行
   public void preFlush(Iterator entities) throws CallbackException;

   // 在 flush 後履行
   public void postFlush(Iterator entities) throws CallbackException;
   // 判断传入的物件能否为 transient 状况
   public Boolean isTransient(Object entity);

   // flush 前呼唤这个办法判断 Dirty data
   // 传回Dirty data属性索引或null采预设行为
   public
    int[] findDirty(Object entity, Serializable id, Object[] currentState, Object[] previousState,
            String[] propertyNames, Type[] types);

   // 手动成立实体物件,假如传回 null,则利用预设的建构办法成立实例
   public Object instantiate(String entityName, EntityMode entityMode, Serializable id)
    throws CallbackException;

   // 传回实体名称
   public String getEntityName(Object object) throws CallbackException;

   // 获得实体物件
   public Object getEntity(String entityName, Serializable id) throws CallbackException;

   // beginTransaction() 之後履行
   public void afterTransactionBegin(Transaction tx);

   // 在事件完成前履行
   public void beforeTransactionCompletion(Transaction tx);

   // 在事件完成後履行
   public void afterTransactionCompletion(Transaction tx);
}


  以上是“hibernate3学习笔记(二十三)|进阶特点(二)[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 在Hibernate里面动态切换SChema实现访谒差别的数据库的几种办法
  • Hibernate 3新增XML关系长期性介绍
  • Hibernate配置文件在单元测试中的操纵
  • 在Hibernate中动态切换Schema
  • hibernate annoation (八 关联映射)
  • hibernate annoation (九 cascading)
  • <b>hibernate annoation (十 映射查询)</b>
  • hibernate annoation(十一 缓存Ehcache 采纳annoation)
  • Hibernate:操作配置文件生成数据库
  • hibernate annoation (一 加载)
  • hibernate annoation (二 成立表)
  • <b>hibernate annoation (三 id生成器)</b>
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .