ZachSinger / Maven.JPA.EntityManager

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JPA - CRUD - Entity Service Lab

Requirements

  • JDK 1.8
  • SQL database

Part 1: Create Data Model

  1. Create a sql database using a RDBMS (MySql)
  2. Create at least 2 tables to represent some relational object data
    • The tables should have 3-7 fields that represent the object
    • Tables must relate to one another. Examples:
      • One to Many
      • Many to Many
      • One to One
      • Many to One
  3. Populate the database with records

example

a cd table may have the fields for:

  • id
  • title
  • desc
  • year
  • artist
  • price

an artist table may have the following:

  • id
  • first_name
  • last_name
  • instrument

An artist-cd join table could then be used to create a many to many relationship.

  • cd_id
  • artist_id

Part 2: Add JPA specification and implementation dependencies

Use Maven.com to get the sql-connector-java dependency and jpa/hibernate dependencies. Add these to your pom.xml

Part 3 Configure JPA

Create persistence.xml file and save it to src -> main -> resources -> META-INF folder

More info

Part 4: Create Services

Create services that are composed of an EntityManager and has an interface for performing CRUD operations for managing Entities with you database.

Service(s) should be able to perform at minimum the following:

  • findById()
  • findAll()
  • update()
  • create()
  • delete()

Use annotations such as @ManyToMany or @OneToMany to create relations within your Entities.

@Entity
public class CD {
    @Id
    @GeneratedValue
    private Long id;

    @OneToMany()
    private Set<Musician> musicians = new HashSet<>();

About


Languages

Language:Java 100.0%