MyBatis是否有一个类似于Hibernate的“脏检查机制”?

时间:2019-11-20 07:05:32

标签: java hibernate jpa mybatis spring-mybatis

Hibernate具有dirty-checking mechanism,可以自动检测更改并生成适当的<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $(document).ready(function(){ $("#101").mouseenter( function(){ $("#spn1").css("color", "red").show(); }); $("#101").mouseleave( function(){ $("#spn1").css("color", "red").hide(); }); }); </script> <input type="text" id="101"><span style="display:none;" id="spn1">limit 0-100</span>查询。

MyBatis是否存在类似的内容?

我知道MyBatis中Java实体和DB表之间没有任何一对一的映射,但是我们确实指定了UPDATE。在MyBatis中,有什么方法可以智能地计算对象的差异并触发适当的resultMap查询,而无需开发人员显式地编写它们?

1 个答案:

答案 0 :(得分:1)

不,mybatis不支持此功能。 mybatis中没有查询生成。 mybatis是一个工具,可帮助您更轻松地执行SQ​​L并轻松将JDBC中的结果映射到对象。

您注意到mybatis不会将表映射到实体,而是将结果集映射到对象。

Mybatis不维护任何持久性上下文,因此它不跟踪对其返回的对象的任何更改(甚至不需要这些对象具有任何标识符或用户定义类型)。

您可能还希望检查this question及其答案,以进一步了解差异,并进一步了解mybatis不支持此原因的原因。