Udacity Java Developer Nanodegree Project 3
Critter Chronologer is a Software as a Service application that provides a scheduling interface for a small business that takes care of animals. This Spring Boot project will allow users to create pets, owners, and employees, and then schedule events for employees to provide services for pets.
This project required utilizing data persistence concepts including:
- Structuring Data in a Multitier Architeture
- Using the Java Persistence API (JPA)
- Connecting to multiple data sources
- Persistence using SQL and Data Access Objects
- Solve persistence performance issues
- IntelliJ IDEA Community Edition (or Ultimate) recommended
- Java SE Development Kit 8+
- Maven
- MySQL Server 8 (or another standalone SQL instance)
- Postman
- Hibernate Many to Many Annotation Tutorial
- Jackson – Bidirectional Relationships
- The difference between map() and flatMap()
- Iterate over a Map in Java
- Use Criteria Queries in a Spring Data Application
- Guide to the Hibernate EntityManager
- Guide to the Java 8 forEach
- Error Handling for REST with Spring
- Retrieve Fields from a Java Class Using Reflection
- The Order of Test in JUnit by Fatos Morina
- Pascal Thivent - Querying Relationships Using Joins
- Konstantin Yovkov - What is @StaticMetamodel and SingularAttribute<Obj,Obj>?
- Roland - Hibernate CriteriaBuilder to join multiple tables
- Fabian - Hibernate OneToMany java.lang.StackOverflowError
- Bozho - MultipleBagFetchExceptions and @LazyCollection()
- Ketrox - JPA many-to-many relationship causing infinite recursion and stack overflow error
- jbrookover - Hibernate criteria query for Collection Table?
- axtavt - How do I update an entity using spring-data-jpa?
- Taryn - SQL Inner-join with 3 tables?
- Vlad Dobrydin - org.hibernate.hql.internal.ast.QuerySyntaxException: table is not mapped
- Oliver Drotbohm - Spring CrudRepository ... equivalent to IN clause
- Fuury - Spring Data JPA findBy a collection [duplicate]
- Counting records in JSON array using javascript and Postman
- brainimus - Hibernate - A collection with cascade=”all-delete-orphan” was no longer referenced by the owning entity instance
- Derek Kromm - Only return rows if sum is greater than a value
- Louis Wasserman - Java 8 method references: provide a Supplier capable of supplying a parameterized result
- Marius - Reflection generic get field value
- Retrieving the data type for an object using reflection
- The Java EE 6 Tutorial - Criteria Queries
- Querying JPA Entities wiht JPQL and Native SQL
- Creating Queries Using the Criteria API
- Pivotal Engineering Journal - Must-Know Spring Boot Annotations: Controllers
- Callicoder - JPA Many to Many Mappings
- ConcretePage.com - JPA EntityManager
- ConcretePage.com - Convert Java Stream to String
- Codata.com - How to use CriteriaBuilder
- JavaCodeExamples - Get Elements by Index from HashSet in Java
- Hibernate Reference Documentation
- Buggy Bread - Spring Framework List of Exceptions
- HowToDoInJava.com - JUnit 5 Expected Exception – assertThrows() Example
- admfactory.com - Get and Set Field Value using Reflection in Java
- attacomsian.com - Capitalize the first letter of a string in Java
- Spring Boot - Framework providing dependency injection, web framework, data binding, resource management, transaction management, and more.
- Google Guava - A set of core libraries used in this project for their collections utilities.
- H2 Database Engine - An in-memory database used in this project to run unit tests.
- MySQL Connector/J - JDBC Drivers to allow Java to connect to MySQL Server
This project is licensed under the MIT License