Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-1534

BeanEditForm should handle @Version fields (hibernate optimistic locking)

    XMLWordPrintableJSON

    Details

      Description

      A BeanEditForm for a hibernate entity with a field annotated with @Version (the optimistic locking strategy) should be handled correctly by tapestry. Right now, it is possible to load a page with a BeanEditForm, and if the underlying entity is modified before the form is saved (in the minutes/hours/days that the page is open), the form changes will overwrite other changes. This is not supposed to happen when a Hibernate entity uses a version field.

      There are some possible solutions at https://forum.hibernate.org/viewtopic.php?f=1&t=957807

      To reproduce this, create an entity with a version field and a page with a BeanEditForm for it. Open the page, change the version (in the database if you aren't using a caching layer, or via the application if you are), and then save the form. The expected result is a StaleObjectStateException, but instead the changes are overwritten, defeating Hibernate's optimistic locking strategy.

        Attachments

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              dnadolny Donny Nadolny
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: