就是说实体对象不能用final修饰吗?
现有个实体类
public final class User
{......}
那如果无法产生代理对象进行优化,能保存成功吗?
session.save(new User());
Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。
final类不能被继承,没有子类,final类中的方法默认是final的。
final方法不能被子类的方法覆盖,但可以被继承。
final成员变量表示常量,只能被赋值一次,赋值后值不再改变。
final不能用于修饰构造方法。
我明白,我问的是关于框架的问题。
@Jinke2017: 实体对象可以用final修饰,只能赋值一次,可以保存成功;
@DanBrown: 首先,这里我代码里用final修饰的是类,不是实体对象。其次,hibernate框架的代理模式是用继承的方式实现的,这里User 类被final 修饰无法继承,那么就无法生成User的代理对象,那为什么还可以保存成功?如果依旧能保存成功,那么代理对象的功能是什么?
@Jinke2017: 不你是new了一个user么就给他实例化了;你试一下应该可以保存数据的;代理对象不了解;
确实无法产生代理对象优化,但是可以保存成功。
难道就没有人能回答了吗 ,,纠结好久
– Jinke2017 6年前