Details

    • Type: Technical task
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.3.0.Beta5, 4.2.7
    • Component/s: None
    • Labels:
      None
    • Last commented by a user?:
      true

      Description

      http://in.relation.to/Bloggers/OptionsForEntityDirtnessChecking is a great discussion of the current state.

      The basic idea with this feature is to allow the entity to dirty-check itself through bytecode enhancement as discussed in the Tracked approach : bytecode enhancement section. So in part the code will simply be moved over from org.hibernate.bytecode.internal.javassist.JavassistClassTransformer to org.hibernate.bytecode.enhance.spi.Enhancer.

      But also, the other part is to allow different ways to request the checking be done. Some options we discussed were:

      • instance checking (with ==) - by far the most performant option, but not feasible in cases where the state of the thing being checked can mutate internally
      • Hibernate Type checking - The Hibernate org.hibernate.type.Type for the changing attribute would be used to perform the equality check

      A related consideration is having the entity track its loaded state. This would allow for more efficient (select-before-update not needed) reattachment of enhanced entities.

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                0 Vote for this issue
                Watchers:
                5 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: