28
JPA in Vaadin CSCI 3130 Winter 2016

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

Embed Size (px)

DESCRIPTION

How does it work? Your ObjectsYour UI JPA Database

Citation preview

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)