/** * 保存新增或修改的对象. */ 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,就不允许他修改了. |
|
来自: I_T_馆 > 《Hibernate》