做的一个实验,数据库中有一个Employee表,目前只有三条记录,1,2,3,现在我用
Employee emp = new Employee();
emp=(Employee)session.load(Employee.class, 4);//搜索id为4的数据,然后打印出来
if(emp!=null)
{
System.out.println("----getemp----"+emp.getId());
}
当我在单步调试时,emp的id始终为0,因为数据库中没有检索出数据,emp始终是新new的默认状态,可是打印出来的emp.getId()却是4,真是太奇怪了,不知道是什么原因
本文通过一个实验场景探讨了Hibernate框架在尝试加载数据库中不存在的记录时的行为。实验中使用了Employee实体类,并试图从仅有三条记录的数据库中加载ID为4的记录。尽管数据库查询未返回结果,但实体对象的ID却被设置为了期望的4,而非默认值0。文章旨在揭示Hibernate在这种情形下的处理方式及其背后的原因。
234

被折叠的 条评论
为什么被折叠?



