分享

public T save(final T entity) { }

 I_T_馆 2014-05-21
    /**
     * 保存新增或修改的对象.
     */
    public T save(final T entity) {
        Assert.notNull(entity, "entity不能为空");
        getSession().saveOrUpdate(entity);
        logger.debug("save entity: {" + entity + "}");
        return entity;
    }

这是在一个父类中定义了一个泛型的方法,传递的参数也是泛型的,并且不可更改的.这里的final T entity意思就是不可更改的意思.

我有一个子类继承了这个父类,也就集成了save(final T entity)这个方法,传第一个entity实体对象.但这个实体对象背传递进来以后是不可以更改的.只能直接保存.

这种情况在Hibernate中有作用.因为如果在Hibernate中取得一个持久化对象,并对他的属性进行修改,就算不tx.commit(),依然会修改数据库.这样定义成final T entity,就不允许他修改了.

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多