Java Persistence API (JPA) Design

Objective

Create a CommandLineRunner JPA program that allows the user to input employees and display the requested employee data per a console menu.

Skills Required

  • Object Oriented Programming
  • MVC Design Pattern
  • Collections
  • Abstraction
  • Polymorphism
  • Encapsulation

Iterations

Build a fullstack application in the following small iterations. It should function at completion of each iteration! Must include for each model a minimum of 10 data items. Please see #9 for an idea on what type of data to include.

  1. Write a model called Employee and it contains the following:

    • Encapsulated data:

      • Identification
      • Employee name as:

        • First
        • Middle
        • Last
        • Suffix
      • Address Identification by creating a relationship to the Address model
      • Project Identification by creating a relationship to the
        Project model
  2. Write a repository for Employee

  3. Write a model called Address and it contains the following:

    • Encapsulated data:

      • Identification
      • Address as:

        • Address Line 1
        • Address Line 2
        • Apartment Number
        • City
        • State
        • Zip
        • Zip + Four
        • County
        • Country
  4. Write a repository for Address

  5. Write a model called Project and it contains the following:

    • Encapsulated data:

      • Identification
      • Project Name
  6. Write a repository for Project

  7. Write a model called Employee_Project and it contains the following:

    • Encapsulated data:

      • Employee Id from Employee model
      • Project Id from Project Id
  8. Write a repository for Employee_Project

  9. CommandLineRunner will display the following information for the models:

    • All employees
    • All addresses
    • All projects
    • All Employees with last name of Holland
    • Employee with ID of 7L
    • All addresses with Hamilton as its county and TN as its state
    • All employees with first name of Henry
    • All employees ids working on the Manhattan Project