protected final boolean active = true;
如您所见,我希望在实例化对象后,使用TRUE值初始化此字段。这是一个数据库模型类。我使用mybatis 3.1.1从数据库中读取数据。
我看到的是当我使用mybatis SqlSession.selectOne()调用db时,我收到一个active == false的对象!但我不会在sql查询中更改此字段。
我挖掘了mybatis代码并发现在DefaultObjectFactory.java#create(Class<T>, List<Class<?>>, List<Object>)
中我的对象被实例化,并且这个最终有效的&#39;字段等于FALSE。
好吧,我完全糊涂了,无法找到有关它的任何信息。
有人可以解释一下这里发生了什么吗?因为我认为必须在构造函数逻辑结束后初始化final字段。
答案 0 :(得分:0)
感谢@Holger!
我搞砸了课。最终字段初始化按预期工作。