Project for the course Software Architectures and Methodologies (UNIFI) Simple notes app to be implemented using JPA
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Diagrams
JPA Notes Project
screenshots
.gitattributes
Documentation.pdf
LICENSE
README.md

README.md

JPA Notes

This project is a simulation of a Java EE application using the JPA architecture, but abstracting from the top level user interface layer and focusing in the Domain Model and DAOs.

Starting from the basis of "An User can take a Note and label it with some Tags", this project simulates the developing steps of a software. In the section architecture requirements, we had "Use JPA to mapping java objects to MySQL database" as restriction, so from then on, we continued specifying how our Java objects will be mapped to a traditional MySQL database by using JPA. We have focused on separating the responsabilities into three main layers: Model, DAOs and Business Logic. The DAOs are the only ones accessing directly to the database through the EntityManager.

Read more (Documentation.pdf)

Notes

  • Developed with Eclipse EE with Eclipselink
  • Project for Software Architectures And Methodologies (SWAM), Università degli Studi di Firenze - UniFI

Usage

  1. Open JPA Notes Project folder with EclipseEE as a project. Eclipselink dependencies will be lost.
  2. From the Navigator or Project explorer, right-click the Java project and then select Configure > Convert to JPA Project. The Project Facets page of the Modify Faceted Project wizard appears.
  3. Launch MySQL database in jdbc:mysql://localhost:3306/notesdb"/ with username = "root" and password = ""

All dependencies should work also with another JPA implementations as Hibernate, as we were careful to use only standard specification annotations and properties. The only excepction is the property eclipselink.logging.level in Persistence.xml. Should work but not tested.

Authors

License

Non-Profit Open Software License version 3.0 (NPOSL-3.0) https://opensource.org/licenses/NPOSL-3.0

Architecture Diagram

Class diagram

Class Diagram of Model

Class diagram

Screenshots

Screenshot 1 Screenshot 2 Screenshot 3 Screenshot 4 Screenshot 5

Database

Domain conceptual schema Screenshot 6