Our SpringRoleManager application already has it's basic back-end logic implementation, it is time to work on the design to make it look a bit more user - friendly. There are hundreds, or even thousands of technologies that might be used as our front - end, however almost every one of those has it's own framework implementation, and requires a bit higher knowledge of other programming languages. Programming such an implementation requires a separate tutorial for AngularJS, BackboneJS or any other advanced framework using JavaSript and any other languages and technologies. As I decided to keep this tutorial easy in understanding and implementing, I chose to use some commonly used existing implementations and frameworks that do not require a high level knowledge of the mentioned before. More, some of the presented technologies are Java and Spring dedicated, so it will be quite easy to implement them within our application. 


    So far, we implemented Spring CRUD application that allows us to create user and assign a role to him, all stored in a MySQL table with Hibernate ORM support for our DAO. But what is the point of implemeting it, if anyone has access to it? In this article, we will use the power of Spring Security framework to restrict and control the access, and to make use of our role assignment implementation.More, we will implement default application - scoped error handler, which will take care of any failure that may happen within the application workflow.  

    Last 2 articles we were preparing our database and domain entites to work with our Spring Role Manager Application. It is time to assemble previously created Java entities to our project and implement DAO using Hibernate ORM Framework. 


    Imagine You are developing a new back-end for an existing application having an extensive database, which has tens, or even hundreds of tables and relationships between them. Your job is to implement DAO working with domain objects, that are representing all of those tables. The question is: is there a chance to optimize my work time and effort while implementing the domain objects? Answer is: Generate those with Hibernate Reverse Engineering.