Jpa Addressbook

screenshot of Jpa Addressbook

This is a simple example application about creating JPA backed Java EE application with rich Vaadin based UI.

Overview

The JPA based address book example serves as an insightful introduction to developing Java EE applications backed by JPA, combined with a rich UI provided by Vaadin. While it doesn't aim to be a full-fledged address book application, it successfully illustrates the integration of critical technologies necessary for crafting sophisticated web applications tailored to custom needs. With its slightly complex domain model, this example showcases how to manage relationships that are commonly encountered in real-world applications.

In addition to its primary educational purpose, this example also introduces a very basic Vaadin add-on feature—the iconic "switch" add-on—which enhances the user interface. For those new to Maven, the accompanying brief tutorial makes it easier to get started, enabling users to run the application locally or deploy it on popular Java EE servers like Wildfly or Glassfish.

Features

  • Rich User Interface with Vaadin: Leverages Vaadin’s capabilities to create a dynamic and engaging user experience.

  • JPA Backing: Provides a comprehensive example of how to use JPA for data persistence in Java EE applications.

  • Complex Domain Model: Demonstrates handling of intricate relationships, moving beyond simple one-table examples to reflect real-world applications.

  • Incorporation of Add-ons: Features a simple implementation of the "switch" add-on, showcasing how to enrich the UI with additional functionalities.

  • Maven Compatibility: Includes a small tutorial to help newcomers set up and run the application using Maven, ensuring an easier start for developers.

  • Deployment Flexibility: Supports deployment on multiple Java EE servers including Wildfly and Glassfish, enhancing its versatility for various environments.

  • Version History: Offers access to both the current version using Vaadin 8 and an older compatible version for users familiar with Vaadin 7.