个人作品,欢迎下载Hibernate固强,然用之稍烦.近常思于此而略有心得,故作此小东东以简化之.限予之技而难逃龌龊之举,望各大虾批评指正此套件虽然小,但是可以帮助你在实际项目中提高Hibernate的使用速度
下载地址为<a href="http://www.cd-accp.net/web/hbdao.rar">http://www.cd-accp.net/web/hbdao.rar</a>此套件主要用于帮助开发人员在Hibernate环境下开发数据访问层
为了使用此套件,你必须具备JDK1.5(或更高),并且设置你的编译器以支持5.0代码语法
此套件提供以下功能 1.多Hibernate配置文件的支持
2.可嵌套虚拟事务模型的支持
3.事务边界拓展功能的支持
4.事务隔离级别拓展功能的支持
5.数据访问类事务处理自动注入的支持愿我的工作能减轻你的负担, 有问题可以反馈至[email protected], 祝使用愉快!
(接下来的时间里,我将仔细研究.NET的System.Reflect.Emit名字空间以推出NHibernate版本)CSP提示
自本年2月开始,本人开始利用非常宝贵的下班后的休息时间, 开发一套Java Web框架(CSP);目前取得阶段性成果, 不久的将来便可和大家碰面这套Java Web架构提供如下功能 1.服务端的非常像ASP.NET,提供基于视图控件的属性/事件编程模型
2.服务端效防ASP.NET的__VIEWSTATE技术,实现页面的有状态化
3.服务端效防ASP.NET1.1中的模板和数据绑顶功能,以及ASP.NET2.0中的母板功能
4.服务端前台代码使用严格遵循Schema验证的XML书写,Schema验证结构可扩展.支持解析结果的缓冲和热加载功能
5.客户端完全使用Ajax技术实现,所有的UI元素由Javascript动态生成
6.客户端支持__VIEWSTATE隐藏字段信息的拆分和合并,在局部提交的情况下仍然配合全程的服务端工作
7.客户端支持JavaScript文件的按需延迟下载,以达到下载的最小化如果不出意外.不久后此框架会发行面世,届时望四方朋友捧场如果有问题可以反馈到我的信箱[email protected], 谢谢你对本文挡的阅读
陈涛,2006-10-17日于北大青鸟(成都名流)

解决方案 »

  1.   

    /**
       * 修改记录
       * @param Info info
       */
      public void modifyInfo(Info info) throws Exception {
        getHibernateTemplate().update(info);
      }
      

  2.   

    楼上两位写的我看不明白了,能不能写的详细点
    比如说有两个字段表dd
    dd(id int,
       num int)
    我想把id号为3的num字段加1要怎么写,谢谢
      

  3.   

    假设有User UserDAO
    要修改User里面的数据
    userDAO..attachDirty(user);
    这样可以实现对User中数据的修改
      

  4.   

    可能是我没说清楚吧,不好意思,
    我这个修改的语句是写在一个action里的
    比如说在action里查找的语句是这样写的
    Query query=session.createQuery("from TbLink as t");那修改的语句是怎么写的呢
    谢谢了
      

  5.   

    给你举个例子:
    ---------------------------
    //DAO
    public interface IExamNameDAO { public abstract List query();

    public abstract ExamName findByPrimaryKey(String pk);
    }//DAO imp
    public class ExamNameDAO extends HibernateDaoSupport implements IExamNameDAO { public ExamName findByPrimaryKey(String pk) {
    List result = getHibernateTemplate().find(" from ExamName t where pk = ?",pk);
    if (result.size() >0){
    return (ExamName) result.get(0);
    }
    return null;
    } public void save(ExamName transientInstance) {
    getHibernateTemplate().saveOrUpdate(transientInstance);
    }
    //修改记录的action
    public class EditExamNameAction extends Action { private IExamNameService examNameService; public IExamNameService getExamNameService() {
    return examNameService;
    } public void setExamNameService(IExamNameService examNameService) {
    this.examNameService = examNameService;
    } // --------------------------------------------------------- Instance Variables // --------------------------------------------------------- Methods /** 
     * Method execute
     * @param mapping
     * @param form
     * @param request
     * @param response
     * @return ActionForward
     */
    public ActionForward execute(
    ActionMapping mapping,
    ActionForm form,
    HttpServletRequest request,
    HttpServletResponse response) {
    DynaValidatorForm editExamNameForm = (DynaValidatorForm) form;

    String year = editExamNameForm.getString("year");
    String term = editExamNameForm.getString("term");
    String name = editExamNameForm.getString("name");
    String pk = editExamNameForm.getString("pk");

    ExamName examName = examNameService.findByPrimaryKey(pk);
    examName.setYear(year);
    examName.setTerm(term);
    examName.setName(name);
    examNameService.save(examName);

    List result = examNameService.query();
    request.setAttribute("QueryObject",result);
    return mapping.findForward("examnameIndexGo");

    }
    }
      

  6.   

    还是不明白,楼上好象是用ejb的吧,我是要用hibernate3.0的语句的
      

  7.   

    先把那个id 为3的纪录查出来,
    BB bb = (BB)getHibernateTemplate().loadById(3,BB.class);
    更改bb的属性,
    bb.setNum(4);
    保存,
    getHibernateTemplate().update(bb);
    OK..
      

  8.   

    晕了,怎么会是EJB呢。。是面向接口的编程方式,建议你去看下DAO,是怎么回事?
    更新数据的步骤就是:
    1、按关键字查询构造对象
    2、使用对象的set方法去赋值
    3、调用DAO的save方法保存数据。