Hi, You can file a feature request to Java developers. A compiler flag can forbid this behavior.
On Sun, Aug 4, 2019, 14:05 mscoon <[email protected]> wrote: > Thomas, > > Thanks for the info. > > The domain objects not being serializable is certainly a valid option. > > To return to my original point, even this does not completely solve the > issue with unintended serialization. Sure, you are going to get a > serialization exception but this is a runtime error (hidden in the logs if > I recall correctly) - much more cumbersome from the programmer's point of > view compared to getting immediate visual feedback in the IDE or a compiler > error. > > Also with view models you may end up again serializing a view model > unintentionally. Granted this is usually not as bad, but still... > > The IntelliJ option seems to do what I want. Unfortunately we use eclipse > and I wasn't able to find an equivalent option. > > Cheers > Marios > > > > On Sun, Aug 4, 2019 at 1:07 PM Thomas Heigl <[email protected]> wrote: > > > > > > > Would you mind to elaborate on this a bit? What do you do in your > forms? > > > How do you handle state there? Do you use view models that are > > > serializable? Do you keep state in local variables and propagate it to > > the > > > domain object in every request after it is reloaded? > > > > > > Sure. > > > > We use DTOs/View Models for most of our forms. We started out with > > manipulating domain objects directly, but it caused too many headaches > with > > serialization and detaching/re-attaching entities etc. > > Domain objects are only used as Wicket (loadable detachable) models when > > the manipulation is just a single step that can be persisted to the DB > > right away. Your ajax link is a good example. Also single-page forms > where > > the final "Save/Next" button persists the changes to the DB. Whenever we > > have a multi-step process (like a wizard) for creating or editing domain > > objects, we use custom view models. > > > > Thomas > > > > On Sun, Aug 4, 2019 at 11:53 AM mscoon <[email protected]> wrote: > > > > > Hi, > > > > > > If you don't mind me following up on your comment... > > > > > > > > > > Personally, I rarely encounter serialization issues. None of our > domain > > > > objects implement Serializable. They can only be used with > > > > LoadableDetachableModels that only store the identifier. > > > > > > > >> > > > >> > > > Would you mind to elaborate on this a bit? What do you do in your > forms? > > > How do you handle state there? Do you use view models that are > > > serializable? Do you keep state in local variables and propagate it to > > the > > > domain object in every request after it is reloaded? > > > > > > We often use serializable domain objects so that keeping state on the > > > object is simple. For example if you have an ajax link that increments > a > > > property of the domain object, you simply increment the property and > rely > > > on the object being serialized for keeping state. > > > > > > Cheers > > > Marios > > > > > >
