JPA in Vaadin CSCI 3130 Winter 2016. What is JPA? Java Persistence API Allows for easy storage of...

28
JPA in Vaadin CSCI 3130 Winter 2016

description

How does it work? Your ObjectsYour UI JPA Database

Transcript of JPA in Vaadin CSCI 3130 Winter 2016. What is JPA? Java Persistence API Allows for easy storage of...

Page 1: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

JPA in VaadinCSCI 3130 Winter 2016

Page 2: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

What is JPA?

Java Persistence API Allows for “easy” storage of Java Objects Is a type of Object Relational Mapping (ORM)

framework Book of Vaadin: https://vaadin.com/docs/-/

part/framework/jpacontainer/jpacontainer-overview.html

Page 3: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

How does it work?

Your Objects Your UI

JPA

Database

Page 4: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

How do I use it?

Carefully!

1. Update ivy.xml2. Change Project Facet3. Edit persistence.xml4. Define Data Model5. Connect JPA to UI

Page 5: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

1. Update ivy.xml

Page 6: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Update ivy.xml

Add these lines to ivy.xml:<dependency org="com.vaadin.addon" name="jpacontainer" rev="3.2.0" />

<dependency org="org.eclipse.persistence" name="org.eclipse.persistence.jpa" rev="2.6.2" />

<dependency org="com.h2database" name="h2" rev="1.4.191" />

Save and wait for the new libraries to download

Page 7: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

2. Add Project Facet

Page 8: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Add Project Facet

Page 9: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Add Project Facet

Page 10: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Add Project Facet

Page 11: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Add Project Facet

Page 12: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Add Project Facet

Page 13: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Add Project Facet

Page 14: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Add Project Facet

Page 15: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Add Project Facet

Page 16: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Add Project Facet

Page 17: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Edit Persistence.xml

Page 18: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Edit persistence.xml

persistence.xml tells JPA how to connect to the database

By default it is in src/META-INF/persistence.xml

Page 19: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Edit persistence.xml

Page 20: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Edit persistence.xml

Page 21: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Edit persistence.xml

Page 22: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Edit persistence.xml

Page 23: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Edit persistence.xml

Page 24: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Edit persistence.xml

Page 25: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

4. Define Data Model

Page 26: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Define Data Model

Create the classes to hold your data Annotate data classes with @Entity Annotate id field with @Id Annotate relationships with @OneToMany, @ManyToOne, @ManyToMany, etc…

For reciprocal relationships, make sure to use mappedBy

Page 27: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

5. Connect JPA to UI

Page 28: JPA in Vaadin CSCI 3130 Winter 2016. What is JPA?  Java Persistence API  Allows for easy storage of Java Objects  Is a type of Object Relational.

Connect JPA to UI

Create a new JPAContainer. Connect it to a Table, Form, etc. Perform operations on the container (add,

delete, update, etc)