标签: dirty-checking

Hibernate 4字节码增强功能不适用于脏检查优化

我正在使用Hibernate 4.3.6,我利用最新的Maven字节码增强功能来检测所有实体的自我肮脏意识.

我添加了maven插件:

<build>
    <plugins>
        <plugin>
            <groupId>org.hibernate.orm.tooling</groupId>
            <artifactId>hibernate-enhance-maven-plugin</artifactId>
            <executions>
                <execution>
                    <phase>process-test-resources</phase>
                    <goals>
                        <goal>enhance</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
Run Code Online (Sandbox Code Playgroud)

我看到我的实体正在增强:

@Entity
public class EnhancedOrderLine
implements ManagedEntity, PersistentAttributeInterceptable, SelfDirtinessTracker
{
    @Id
  @GeneratedValue(strategy=GenerationType.AUTO)
  private Long id;
  private Long number;
  private String orderedBy;
  private Date orderedOn;

  @Transient
  private transient PersistentAttributeInterceptor $$_hibernate_attributeInterceptor;

  @Transient
  private transient Set $$_hibernate_tracker;

  @Transient
  private transient CollectionTracker $$_hibernate_collectionTracker;

  @Transient
  private transient EntityEntry $$_hibernate_entityEntryHolder;

  @Transient
  private transient ManagedEntity $$_hibernate_previousManagedEntity;

  @Transient
  private transient ManagedEntity $$_hibernate_nextManagedEntity;

  ...
Run Code Online (Sandbox Code Playgroud)

在调试时,我正在检查org.hibernate.event.internal.DefaultFlushEntityEventListener#dirtyCheck方法:

        if …
Run Code Online (Sandbox Code Playgroud)

java orm hibernate byte-code-enhancement dirty-checking

33
推荐指数
1
解决办法
2744
查看次数

如何在 VueJs 中实现脏状态

我是 VueJs 的新手,我正在处理一个表单,我只想Save在模型发生更改时启用该按钮。

我最初的想法是compute将初始模型与当前模型进行比较的脏函数。

注意:此代码未经测试,此处仅作为示例。

var app = new Vue({
    el: '#app',
    data: {a:0, b:'', c:{c1:null, c2:0, c3:'test'}},
    initialData: null,
    mounted():{ initialData = JSON.parse(JSON.stringify(data));},
    computed: {
        isDirty: function () {
          return JSON.stringify(data) === JSON.stringify(initialData) 
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法来做到这一点,或者您可以对上述代码提出任何改进建议吗?

vuejs2 dirty-checking

13
推荐指数
2
解决办法
1万
查看次数