We are pleased to announce that SpringFuse (v 3.0.43), our online Java Code Generation service, is now able to generate advanced CRUD web applications leveraging:
For each entity SpringFuse generates 2 reusable flows:
Whenever an entity has an association (many-to-one, one-to-one, one-to-many, many-to many), you can navigate to it until you reach leaves. This advanced navigation is achieved thanks to flows composition.
Here is how look for example a 'search' view for the Account entity (example provided by SpringFuse)
And below, here is how look the 'edit' view for the Account entity
As you walk through the entity graph, the changes you make are retained in an extended persistence context bound to the conversation. Nothing is committed until you invoke a service method annotated with a read-write @Transactional This means you can have a long conversation to prepare all the desired changes and commit them in a short transaction.
A nice side-effect of using extended persistence context is that you no longer have to spend your time merging entities as the user navigates from one view to an other. Indeed, the entities remain by definition in the same persitence context. The back-end is the same as before, JPA2, Bean Validation, Spring, etc.
Thanks to PrimeFaces and Spring Web Flow, it becomes a real pleasure to work with JSF and real enterprise applications can be written without spending months on re-inventing the wheel... specially when you use SpringFuse ;-)
We hope this contribution will make you realize the potential of such architecture for enterprise applications.
We won't go further in the details of all the generated code.
The best is to generate a project, play with it and study the source code.
Have fun !