CRUDSpringMvcMySql
Following technologies being used:
Spring 4.1.7.RELEASE Hibernate Core 4.3.10.Final validation-api 1.1.0.Final hibernate-validator 5.1.3.Final MySQL Server 5.6 Maven 3 JDK 1.7 Tomcat 8.0.21 Eclipse JUNO Service Release 2
create database test; use test; create table APP_USER ( id BIGINT NOT NULL AUTO_INCREMENT, sso_id VARCHAR(30) NOT NULL, password VARCHAR(100) NOT NULL, first_name VARCHAR(30) NOT NULL, last_name VARCHAR(30) NOT NULL, email VARCHAR(30) NOT NULL, PRIMARY KEY (id), UNIQUE (sso_id) );
create table USER_PROFILE( id BIGINT NOT NULL AUTO_INCREMENT, type VARCHAR(30) NOT NULL, PRIMARY KEY (id), UNIQUE (type) );
CREATE TABLE APP_USER_USER_PROFILE ( user_id BIGINT NOT NULL, user_profile_id BIGINT NOT NULL, PRIMARY KEY (user_id, user_profile_id), CONSTRAINT FK_APP_USER FOREIGN KEY (user_id) REFERENCES APP_USER (id), CONSTRAINT FK_USER_PROFILE FOREIGN KEY (user_profile_id) REFERENCES USER_PROFILE (id) );
/* Populate USER_PROFILE Table */ INSERT INTO USER_PROFILE(type) VALUES ('USER');
INSERT INTO USER_PROFILE(type) VALUES ('ADMIN');
INSERT INTO USER_PROFILE(type) VALUES ('DBA');
commit;