├── .gitignore ├── ChunkList ├── README.md ├── head-to-head.png ├── pom.xml └── src │ └── main │ └── java │ └── com │ └── app │ └── chunklist │ ├── Chunk.java │ ├── Lists.java │ └── MainApplication.java ├── HibernateSpringBootAssignSequentialNumber ├── README.md ├── assign sequential number to rows.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootAssignedUUID ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootAttributeLazyLoadingBasic ├── README.md ├── avatars │ ├── cd.png │ ├── mt.png │ └── re.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootAttributeLazyLoadingDefaultValues ├── README.md ├── avatars │ ├── cd.png │ ├── mt.png │ └── re.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootAttributeLazyLoadingJacksonSerialization ├── README.md ├── avatars │ ├── cd.png │ ├── mt.png │ └── re.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── WebConfig.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootAudit ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── auditor │ │ └── AuditorAwareImpl.java │ │ ├── entity │ │ ├── Author.java │ │ ├── BaseEntity.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ ├── BookstoreService.java │ │ └── UserService.java │ └── resources │ └── application.properties ├── HibernateSpringBootAutoGeneratorType ├── Hibernate Spring Boot Auto Generator Type.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── AuthorBad.java │ │ └── AuthorGood.java │ │ ├── repository │ │ ├── AuthorBadRepository.java │ │ └── AuthorGoodRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootAutoUUID ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootAvoidEntityInDtoViaConstructor ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── BookstoreDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootBatchDeleteCascadeDelete ├── README.md ├── batch delete via SQL cascade delete.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchDeleteOrphanRemoval ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchDeleteSingleEntity ├── README.md ├── batch deletes.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertOrder ├── README.md ├── batch inserts including associations no order of inserts.png ├── batch inserts including associations ordered inserts.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── impl │ │ ├── BatchRepository.java │ │ └── BatchRepositoryImpl.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertOrderBatchPerTransaction ├── README.md ├── batch inserts including associations no order of inserts.png ├── batch inserts including associations ordered inserts.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── impl │ │ ├── BatchExecutor.java │ │ ├── BatchRepository.java │ │ ├── BatchRepositoryImpl.java │ │ └── SpringContext.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsCompletableFuture ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ └── Author.java │ │ ├── impl │ │ ├── BatchExecutor.java │ │ ├── BatchRepository.java │ │ ├── BatchRepositoryImpl.java │ │ └── SpringContext.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsCompletableFutureReturnGivenList ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ └── Author.java │ │ ├── impl │ │ ├── BatchExecutor.java │ │ ├── BatchRepository.java │ │ ├── BatchRepositoryImpl.java │ │ └── SpringContext.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsCompletableFutureReturnList ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ └── Author.java │ │ ├── impl │ │ ├── BatchExecutor.java │ │ ├── BatchRepository.java │ │ ├── BatchRepositoryImpl.java │ │ └── SpringContext.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsEntityManager ├── README.md ├── batch inserts via EntityManager.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── Dao.java │ │ └── GenericDao.java │ │ ├── entity │ │ └── Author.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsEntityManagerBatchPerTransaction ├── README.md ├── batch inserts via EntityManager.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── Dao.java │ │ └── GenericDao.java │ │ ├── entity │ │ └── Author.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsEntityManagerViaJpaContext ├── README.md ├── batch inserts via JpaContext.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── Dao.java │ │ └── GenericDao.java │ │ ├── entity │ │ └── Author.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsJpaRepository ├── README.md ├── batch inserts via saveAll.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsSpringStyle ├── README.md ├── batch inserts in spring boot style.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── impl │ │ ├── BatchRepository.java │ │ └── BatchRepositoryImpl.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsSpringStyleBatchPerTransaction ├── README.md ├── batch inserts in spring boot style.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── impl │ │ ├── BatchExecutor.java │ │ ├── BatchRepository.java │ │ ├── BatchRepositoryImpl.java │ │ └── SpringContext.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsViaSession ├── README.md ├── batch inserts via Session.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── Dao.java │ │ └── GenericDao.java │ │ ├── entity │ │ └── Author.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchInsertsViaSessionPerTransaction ├── README.md ├── batch inserts via EntityManager.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── Dao.java │ │ └── GenericDao.java │ │ ├── entity │ │ └── Author.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchJsonFileForkJoin ├── README.md ├── citylots_200000_lines.zip ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── citylots │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ └── forkjoin │ │ ├── ForkJoinService.java │ │ ├── ForkingComponent.java │ │ └── JoiningComponent.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootBatchUpdateOrder ├── README.md ├── batch updates.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchUpdateOrderSingleEntity ├── README.md ├── batch updates.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBatchingAndSerial ├── PostgreSQL (BIG)SERIAL and Batching Inserts.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootBulkUpdates ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootCalculatePropertyFormula ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootCalculatePropertyGenerated ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootCalculatePropertyPostLoad ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootCallStoredProcedureJdbcTemplate ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootCallStoredProcedureJdbcTemplateBeanPropertyRowMapper ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ ├── AuthorDto.java │ │ ├── GenreAndAgeDto.java │ │ └── NicknameAndAgeDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootCallStoredProcedureNativeCall ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ ├── AuthorDto.java │ │ └── AuthorNicknameAndAge.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootCallStoredProcedureReturnResultSet ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── Dao.java │ │ └── DaoImpl.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootCallStoredProcedureReturnValue ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootCascadeChildRemoval ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootChooseOnlyOneAssociation ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Article.java │ │ ├── Book.java │ │ ├── Magazine.java │ │ └── Review.java │ │ ├── repository │ │ ├── ArticleRepository.java │ │ ├── BookRepository.java │ │ ├── MagazineRepository.java │ │ └── ReviewRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── validation │ │ ├── JustOneOfMany.java │ │ └── JustOneOfManyValidator.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootCloneEntity ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootCompositeKeyEmbeddable ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── AuthorId.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootCompositeKeyEmbeddableMapRel ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── AuthorId.java │ │ ├── Book.java │ │ └── Publisher.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── PublisherRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootCompositeKeyIdClass ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── AuthorId.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootCompositeKeySeqIdClass ├── README.md ├── nbactions.tmp ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── AuthorId.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootCountSQLStatements ├── README.md ├── count and assert SQL.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootCustomSequenceGenerator ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── generator │ │ └── id │ │ │ └── CustomSequenceIdGenerator.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootDataSourceBuilderBoneCPKickoff ├── BoneCP trace log.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── app │ │ ├── MainApplication.java │ │ ├── dsconfig │ │ └── ConfigureDataSource.java │ │ └── repository │ │ └── NumberRepository.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootDataSourceBuilderC3P0Kickoff ├── C3P0 trace log.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── app │ │ ├── MainApplication.java │ │ ├── dsconfig │ │ └── ConfigureDataSource.java │ │ └── repository │ │ └── NumberRepository.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootDataSourceBuilderDBCP2Kickoff ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── app │ │ ├── MainApplication.java │ │ ├── dsconfig │ │ └── ConfigureDataSource.java │ │ └── repository │ │ └── NumberRepository.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootDataSourceBuilderHikariCPKickoff ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── app │ │ ├── MainApplication.java │ │ ├── dsconfig │ │ └── ConfigureDataSource.java │ │ └── repository │ │ └── NumberRepository.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootDataSourceBuilderProgHikariCPKickoff ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── app │ │ ├── MainApplication.java │ │ ├── dsconfig │ │ └── ConfigureDataSource.java │ │ └── repository │ │ └── NumberRepository.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootDataSourceBuilderTomcatKickoff ├── README.md ├── Tomcat trace log.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── app │ │ ├── MainApplication.java │ │ ├── dsconfig │ │ └── ConfigureDataSource.java │ │ └── repository │ │ └── NumberRepository.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootDataSourceBuilderViburDBCPKickoff ├── README.md ├── ViburDBCP log trace.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── app │ │ ├── MainApplication.java │ │ ├── dsconfig │ │ └── ConfigureDataSource.java │ │ └── repository │ │ └── NumberRepository.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootDataSourceDecorator ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootDataSourceProxy ├── README.md ├── pom.xml ├── query details via datasource-proxy.png └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootDatabaseTriggers ├── MySQL_Trigger_For_Complex_Data_Integrity_Checks.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Book.java │ │ └── Chapter.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDatabaseView ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── GenreAndTitleViewRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── view │ │ └── GenreAndTitleView.java │ └── resources │ ├── application.properties │ ├── data-mysql.sql │ └── schema-mysql.sql ├── HibernateSpringBootDatabaseViewUpdateInsertDelete ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorAnthologyViewRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── view │ │ └── AuthorAnthologyView.java │ └── resources │ ├── application.properties │ ├── data-mysql.sql │ └── schema-mysql.sql ├── HibernateSpringBootDatabaseViewWithCheckOption ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorAnthologyViewRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── view │ │ └── AuthorAnthologyView.java │ └── resources │ ├── application.properties │ ├── data-mysql.sql │ └── schema-mysql.sql ├── HibernateSpringBootDeadlockExample ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDelayConnection ├── README.md ├── delay connection acquisition 1.png ├── delay connection acquisition 2.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDenseRankFunction ├── README.md ├── assign ranking to rows.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDerivedCountAndDelete ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDirectFetching ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── Dao.java │ │ └── GenericDao.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDomainEvents ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Book.java │ │ ├── BookReview.java │ │ └── ReviewStatus.java │ │ ├── event │ │ ├── CheckReviewEvent.java │ │ └── CheckReviewEventHandler.java │ │ ├── repository │ │ ├── BookRepository.java │ │ └── BookReviewRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootDtoBlazeEntityView ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── BlazeConfiguration.java │ │ ├── entity │ │ └── Author.java │ │ ├── projection │ │ └── AuthorNameAge.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── view │ │ ├── AuthorView.java │ │ └── AuthorViewRepository.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoConstructor ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoConstructorExpression ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoCustomResultTransformer ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dao │ │ ├── AuthorDao.java │ │ └── Dao.java │ │ ├── dto │ │ ├── AuthorDto.java │ │ └── BookDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── transformer │ │ └── AuthorBookTransformer.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoElementCollection ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── ShoppingCartDto.java │ │ ├── entity │ │ ├── Book.java │ │ └── ShoppingCart.java │ │ ├── repository │ │ └── ShoppingCartRepository.java │ │ └── service │ │ └── ShoppingCartService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoEntityViaProjection ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── BookstoreDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoEntityViaProjectionNoAssociation ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── BookstoreDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoRecordConstructor ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoRecordConstructorExpression ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoRecordJbcTemplate ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── jdbcTemplate │ │ └── dto │ │ │ ├── AuthorDto.java │ │ │ ├── AuthorExtractor.java │ │ │ └── BookDto.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ ├── data-mysql.sql │ └── schema-mysql.sql ├── HibernateSpringBootDtoRecordResultTransformer ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── AuthorDao.java │ │ └── Dao.java │ │ ├── dto │ │ ├── AuthorDto.java │ │ └── BookDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── transformer │ │ └── AuthorBookTransformer.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoResultTransformer ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── AuthorDao.java │ │ └── Dao.java │ │ ├── dto │ │ ├── AuthorDtoNoSetters.java │ │ └── AuthorDtoWithSetters.java │ │ ├── entity │ │ └── Author.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoResultTransformerJpql ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── AuthorDao.java │ │ └── Dao.java │ │ ├── dto │ │ ├── AuthorDtoNoSetters.java │ │ └── AuthorDtoWithSetters.java │ │ ├── entity │ │ └── Author.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSpringProjectionAnnotatedNamedNativeQuery ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorNameAge.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSpringProjectionAnnotatedNamedQuery ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorNameAge.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSpringProjectionOrmXmlNamedNativeQuery ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorNameAge.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── META-INF │ └── orm.xml │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSpringProjectionOrmXmlNamedQuery ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorNameAge.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── META-INF │ └── orm.xml │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSpringProjectionPropertiesNamedNativeQuery ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorNameAge.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── META-INF │ └── jpa-named-queries.properties │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSpringProjectionPropertiesNamedQuery ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorNameAge.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── META-INF │ └── jpa-named-queries.properties │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSqlResultSetMapping ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── app │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── Dao.java │ │ └── GenericDao.java │ │ ├── dto │ │ └── CategoryDto.java │ │ ├── entity │ │ ├── BottomCategory.java │ │ ├── MiddleCategory.java │ │ └── TopCategory.java │ │ └── service │ │ └── CategoryService.java │ └── resources │ └── application.properties ├── HibernateSpringBootDtoSqlResultSetMappingAndNamedNativeQuery ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSqlResultSetMappingAndNamedNativeQuery2 ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSqlResultSetMappingAndNamedNativeQueryEntity ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSqlResultSetMappingAndNamedNativeQueryEntity2 ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoSqlResultSetMappingNamedNativeQueryOrmXml ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── META-INF │ └── orm.xml │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoTupleAndJpql ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoTupleAndSql ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoUnrelatedEntities ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── BookstoreDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaClassBasedProjections ├── DTOs via Spring projections.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── projection │ │ └── AuthorNameAge.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaCrossJoins ├── DTO via cross joins.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Book.java │ │ └── Format.java │ │ ├── projection │ │ └── BookTitleAndFormatType.java │ │ ├── repository │ │ ├── BookRepository.java │ │ └── FormatRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaFullJoins ├── DTO via inclusive full joins.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── projection │ │ └── AuthorNameBookTitle.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-postgresql.sql ├── HibernateSpringBootDtoViaFullJoinsMySQL ├── DTO via inclusive full joins.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── projection │ │ └── AuthorNameBookTitle.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaFullOuterExcludingJoins ├── DTO via exclusive full joins.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── projection │ │ └── AuthorNameBookTitle.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-postgresql.sql ├── HibernateSpringBootDtoViaInnerJoins ├── DTO via inner joins.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── projection │ │ └── AuthorNameBookTitle.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaLeftExcludingJoins ├── DTO via exclusive left joins.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── projection │ │ └── AuthorNameBookTitle.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaLeftJoins ├── DTO via left joins.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── projection │ │ └── AuthorNameBookTitle.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaProjections ├── DTOs via Spring projections.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── projection │ │ └── AuthorNameAge.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaProjectionsAndJpql ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── projection │ │ └── AuthorNameAge.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaProjectionsAndVirtualProperties ├── README.md ├── dto spring projection and virtual properties.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── projection │ │ └── AuthorNameAge.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaProjectionsIntefaceInRepo ├── DTOs via Spring projections.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaRightExcludingJoins ├── DTO via exclusive right joins.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── projection │ │ └── AuthorNameBookTitle.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaRightJoins ├── DTO via right joins.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── projection │ │ └── AuthorNameBookTitle.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDtoViaSqlResultSetMappingEm ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── AuthorDao.java │ │ └── AuthorDaoImpl.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDynamicProjection ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ ├── AuthorGenreDto.java │ │ └── AuthorNameEmailDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDynamicProjectionClass ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ ├── AuthorGenreDto.java │ │ └── AuthorNameEmailDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootDynamicUpdate ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootElementCollectionJoinFetch ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Book.java │ │ └── ShoppingCart.java │ │ ├── repository │ │ └── ShoppingCartRepository.java │ │ └── service │ │ └── ShoppingCartService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootElementCollectionNoOrderColumn ├── @ElementCollection without @OrderColumn.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── ShoppingCart.java │ │ ├── repository │ │ └── ShoppingCartRepository.java │ │ └── service │ │ └── ShoppingCartService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootElementCollectionWithOrderColumn ├── @ElementCollection with @OrderColumn.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── ShoppingCart.java │ │ ├── repository │ │ └── ShoppingCartRepository.java │ │ └── service │ │ └── ShoppingCartService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootEnableDirtyTracking ├── Bytecode Enhancement Author.class │ └── Author.java ├── Enable dirty tracking.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootEnableLazyLoadNoTrans ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootEntityGraphAttributePaths ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── specs │ │ └── AuthorSpecs.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootEntityListener ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── listener │ │ └── BookListener.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── EbookRepository.java │ │ └── PaperbackRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootEnumAttributeConverter ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── converter │ │ └── GenreTypeConverter.java │ │ ├── entity │ │ └── Author.java │ │ ├── enums │ │ └── GenreType.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootEnumPostgreSQLCustomType ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── enums │ │ └── GenreType.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── type │ │ ├── PostgreSQLEnumType.java │ │ └── package-info.java │ └── resources │ ├── application.properties │ └── schema-postgresql.sql ├── HibernateSpringBootEnumPostgreSQLHibernateTypes ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── enums │ │ └── GenreType.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── schema-postgresql.sql ├── HibernateSpringBootEnumStringInt ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── enums │ │ └── GenreType.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootEnvers ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootEnversSchemaSql ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootExampleApi ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootFetchJoinAndQueries ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ └── Publisher.java │ │ ├── repository │ │ ├── BookRepositoryEntityGraph.java │ │ ├── BookRepositoryFetchModeJoin.java │ │ └── BookRepositoryJoinFetch.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── specs │ │ └── BookSpecs.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootFilterAssociation ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootFluentApiAdditionalMethods ├── README.md ├── fluent api with additional methods.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootFluentApiOnSetters ├── README.md ├── fluent entity setters.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootFlywayMySQLDatabase ├── README.md ├── flyway_schema_history table.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── db │ └── migration │ ├── V1.1__CreateAuthorTable.sql │ ├── V1.2__CreateBookTable.sql │ └── afterMigrate.sql ├── HibernateSpringBootFlywayMySQLProg ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dsconfig │ │ └── ConfigureDataSource.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── db │ └── migration │ ├── V1.1__CreateAuthorTable.sql │ ├── V1.2__CreateBookTable.sql │ └── afterMigrate.sql ├── HibernateSpringBootFlywayMySQLQuick ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── db │ └── migration │ ├── V1.1__CreateAuthorTable.sql │ ├── V1.2__CreateBookTable.sql │ └── afterMigrate.sql ├── HibernateSpringBootFlywayMySQLTwoDatabases ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ ├── ConfigureDataSources.java │ │ ├── FirstEntityManagerFactory.java │ │ └── SecondEntityManagerFactory.java │ │ ├── ds1 │ │ ├── Book.java │ │ ├── BookRepository.java │ │ └── BookService.java │ │ ├── ds2 │ │ ├── Author.java │ │ ├── AuthorRepository.java │ │ └── AuthorService.java │ │ └── flyway │ │ └── propeties │ │ ├── FlywayAuthorProperties.java │ │ └── FlywayBookProperties.java │ └── resources │ ├── application.properties │ └── db │ └── migration │ ├── authorsdb │ ├── V1.1__CreateAuthorTable.sql │ └── afterMigrate.sql │ └── booksdb │ ├── V1.1__CreateBookTable.sql │ └── afterMigrate.sql ├── HibernateSpringBootFlywayPostgreSQLProg ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dsconfig │ │ └── ConfigureDataSource.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── db │ └── migration │ ├── V1.1__CreateAuthorTable.sql │ ├── V1.2__CreateBookTable.sql │ └── afterMigrate.sql ├── HibernateSpringBootFlywayPostgreSQLQuick ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── db │ └── migration │ ├── V1.1__CreateAuthorTable.sql │ ├── V1.2__CreateBookTable.sql │ └── afterMigrate.sql ├── HibernateSpringBootFlywayPostgreSqlSchema ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── db │ └── migration │ ├── V1.1__CreateAuthorTable.sql │ ├── V1.2__CreateBookTable.sql │ └── afterMigrate.sql ├── HibernateSpringBootFlywayPostgreSqlTwoSchemas ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ ├── ConfigureDataSources.java │ │ ├── FirstEntityManagerFactory.java │ │ └── SecondEntityManagerFactory.java │ │ ├── ds1 │ │ ├── Book.java │ │ ├── BookRepository.java │ │ └── BookService.java │ │ ├── ds2 │ │ ├── Author.java │ │ ├── AuthorRepository.java │ │ └── AuthorService.java │ │ └── flyway │ │ └── propeties │ │ ├── FlywayAuthorProperties.java │ │ └── FlywayBookProperties.java │ └── resources │ ├── application.properties │ └── db │ └── migration │ ├── authors │ ├── V1.1__CreateAuthorTable.sql │ └── afterMigrate.sql │ └── books │ ├── V1.1__CreateBookTable.sql │ └── afterMigrate.sql ├── HibernateSpringBootFlywayTwoVendors ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ ├── ConfigureDataSources.java │ │ ├── FirstEntityManagerFactory.java │ │ └── SecondEntityManagerFactory.java │ │ ├── ds1 │ │ ├── Author.java │ │ ├── AuthorRepository.java │ │ └── AuthorService.java │ │ ├── ds2 │ │ ├── Book.java │ │ ├── BookRepository.java │ │ └── BookService.java │ │ └── fllyway │ │ └── propeties │ │ ├── FlywayDs1Properties.java │ │ └── FlywayDs2Properties.java │ └── resources │ ├── application.properties │ └── db │ └── migration │ ├── mysql │ ├── V1.1__CreateAuthorTable.sql │ └── afterMigrate.sql │ └── postgresql │ ├── V1.1__CreateBookTable.sql │ └── afterMigrate.sql ├── HibernateSpringBootForceInlineParams ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ └── Dao.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootHHH000104 ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootHTTPLongConversationDetachedEntity ├── README.md ├── http long conversations detached entity ole.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── InventoryController.java │ │ ├── entity │ │ └── Inventory.java │ │ ├── repository │ │ └── InventoryRepository.java │ │ └── service │ │ └── InventoryService.java │ └── resources │ ├── application.properties │ ├── data-mysql.sql │ └── templates │ ├── index.html │ └── success.html ├── HibernateSpringBootHiLo ├── Hibernate hilo algorithm.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootHiLoIssue ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootHibernateSLCEhCacheKickoff ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ ├── ehcache.xml │ └── logback-spring.xml ├── HibernateSpringBootHikariCPPropertiesKickoff ├── HikariCP trace log.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── app │ │ ├── MainApplication.java │ │ └── repository │ │ └── NumberRepository.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootHintPassDistinctThrough ├── HINT_PASS_DISTINCT_THROUGH.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootINListPadding ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-sqlserver.sql ├── HibernateSpringBootImmutableEntity ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ ├── ehcache.xml │ └── logback-spring.xml ├── HibernateSpringBootInspectPersistentContext ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootInterceptSql ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── interceptor │ │ └── SqlInspector.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootJacksonHibernate5Module ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootJoinDtoAllFields ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootJoinFetch ├── README.md ├── hibernate spring boot join fetch.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootJoinFetchPageable ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootJoinFormula ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootJoinPagination ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ └── AuthorBookDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootJoinTableInheritance ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── BookRepository.java │ │ ├── EbookRepository.java │ │ └── PaperbackRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootJoinTableRepositoryInheritance ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── BookBaseRepository.java │ │ ├── BookRepository.java │ │ ├── EbookRepository.java │ │ └── PaperbackRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootJoinVSJoinFetch ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootJoinedAndStrategy ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ ├── service │ │ ├── BookstoreService.java │ │ ├── DeliverService.java │ │ └── Deliverable.java │ │ └── strategy │ │ ├── Delivery.java │ │ ├── EbookDeliver.java │ │ └── PaperbackDeliver.java │ └── resources │ └── application.properties ├── HibernateSpringBootJoinedAndVisitor ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ ├── service │ │ ├── BookstoreService.java │ │ ├── Visitable.java │ │ └── VisitorService.java │ │ └── visitor │ │ ├── BookCoverVisitor.java │ │ ├── BookFixHiperlinksVisitor.java │ │ └── Visitor.java │ └── resources │ └── application.properties ├── HibernateSpringBootJpaCallbacks ├── JPA callbacks.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootJpqlFunction ├── README.md ├── SQL functions in JPQL parameters.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootJpqlFunctionsParams ├── README.md ├── SQL functions in JPQL parameters.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── SqlFunctionsMetadataBuilderContributor.java │ │ ├── dao │ │ ├── Dao.java │ │ └── GenericDao.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootJsonToMySQL ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── obj │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootJsonToPostgreSQL ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── obj │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootJustManyToOne ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootKeysetPagination ├── README.md ├── offset pagination.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootKeysetPaginationNextPage ├── README.md ├── keyset pagination with next page button.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── view │ │ ├── AuthorView.java │ │ └── AuthorViewDto.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootLeftJoinFetch ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ ├── com │ │ └── bookstore │ │ │ ├── MainApplication.java │ │ │ ├── entity │ │ │ ├── Author.java │ │ │ └── Book.java │ │ │ ├── repository │ │ │ ├── AuthorRepository.java │ │ │ └── BookRepository.java │ │ │ └── service │ │ │ └── BookstoreService.java │ └── src │ │ └── main │ │ └── resources │ │ ├── application.properties │ │ └── data-mysql.sql │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootLimitResultSizeViaQueryCreator ├── README.md ├── pom.xml ├── query creation for limiting result size.png ├── src │ └── main │ │ ├── java │ │ └── com │ │ │ └── bookstore │ │ │ ├── MainApplication.java │ │ │ ├── dto │ │ │ └── AuthorDto.java │ │ │ ├── entity │ │ │ └── Author.java │ │ │ ├── repository │ │ │ └── AuthorRepository.java │ │ │ └── service │ │ │ └── BookstoreService.java │ │ └── resources │ │ ├── application.properties │ │ └── data-mysql.sql └── supported keywords inside method names.png ├── HibernateSpringBootListDtoOffsetPagination ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootListDtoOffsetPaginationWF ├── README.md ├── offset pagination via window function.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootListEntityOffsetPaginationExtraColumn ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootListEntityOffsetPaginationExtraColumnWF ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootListEntityOffsetPaginationProjection ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── projection │ │ └── AuthorInfo.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootLoadBatchAssociation ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootLoadMultipleIds ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── multipleids │ │ ├── MultipleIdsRepository.java │ │ └── MultipleIdsRepositoryImpl.java │ │ ├── repository │ │ ├── BookMultipleIdsRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootLoadMultipleIdsSpecification ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── specs │ │ └── InIdsSpecification.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootLog4JdbcViewBindingParameters ├── README.md ├── pom.xml ├── query details via log4jdbc.png └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootLog4j2ViewBindingParameters ├── README.md ├── log4j2 display binding and extracted parameters.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── log4j2.xml ├── HibernateSpringBootLogBindingParametersMySQL ├── README.md ├── display binding via profileSQL=true.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootLogSlowQueries ├── README.md ├── log slow queries via datasource-proxy.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ └── DatasourceProxyBeanPostProcessor.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootLogSlowQueries545 ├── README.md ├── log slow queries Hibernate 5.4.5.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootLogTraceViewBindingParameters ├── README.md ├── display binding and extracted parameters via TRACE.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── logback-spring.xml ├── HibernateSpringBootLombokEqualsAndHashCode ├── README.md ├── auto-generated primary key and equals - hashCode.png ├── pom.xml └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── app │ │ │ ├── BusinessKeyBook.java │ │ │ ├── DefaultBook.java │ │ │ ├── IdBook.java │ │ │ ├── IdGenBook.java │ │ │ ├── IdManBook.java │ │ │ ├── LombokDefaultBook.java │ │ │ ├── LombokIdBook.java │ │ │ ├── MainApplication.java │ │ │ └── NaturalIdBook.java │ └── resources │ │ └── application.properties │ └── test │ └── java │ └── com │ └── app │ └── test │ ├── BusinessKeyEqualsAndHashCodeTest.java │ ├── DefaultEqualsAndHashCodeTest.java │ ├── IdEqualsAndHashCodeTest.java │ ├── IdGenEqualsAndHashCodeTest.java │ ├── IdManEqualsAndHashCodeTest.java │ ├── LombokDefaultEqualsAndHashCodeTest.java │ ├── LombokEqualsAndHashCodeWithIdOnlyTest.java │ └── NaturalIdEqualsAndHashCodeTest.java ├── HibernateSpringBootManyToManyBidirectional ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootManyToManyBidirectionalListVsSet ├── README.md ├── manytomany use always set not list.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── AuthorList.java │ │ ├── AuthorSet.java │ │ ├── BookList.java │ │ └── BookSet.java │ │ ├── repository │ │ ├── AuthorListRepository.java │ │ ├── AuthorSetRepository.java │ │ ├── BookListRepository.java │ │ └── BookSetRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootManyToManySetAndOrderBy ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootMapBooleanToYesNo ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── converter │ │ └── BooleanConverter.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ ├── data-mysql.sql │ └── schema-mysql.sql ├── HibernateSpringBootMappedSuperclass ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── EbookRepository.java │ │ └── PaperbackRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootMappedSuperclassRepository ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── BookBaseRepository.java │ │ ├── EbookRepository.java │ │ └── PaperbackRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootMappingLobToByteString ├── README.md ├── avatars │ └── mt_avatar.png ├── biography │ └── mt_bio.txt ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootMappingLobToClobAndBlob ├── README.md ├── avatars │ └── mt_avatar.png ├── biography │ └── mt_bio.txt ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootMatchEntitiesToTablesTwoSchemas ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootMergeCollections ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootMySqlSkipLocked ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Book.java │ │ └── BookStatus.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootNTilleFunction ├── README.md ├── grouping rows via NTILE.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootNamedEntityGraph ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── specs │ │ └── AuthorSpecs.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootNamedEntityGraphBasicAttrs ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootNamedQueriesInOrmXml ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── META-INF │ └── orm.xml │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootNamedQueriesInPropertiesFile ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── META-INF │ └── jpa-named-queries.properties │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootNamedQueriesViaAnnotations ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorNameAge.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootNamedSubgraph ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ └── Publisher.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── PublisherRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── specs │ │ ├── AuthorSpecs.java │ │ └── PublisherSpecs.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootNaturalId ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── naturalid │ │ ├── NaturalRepository.java │ │ └── NaturalRepositoryImpl.java │ │ ├── repository │ │ ├── BookNaturalRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootNaturalIdCache ├── Hibernate NaturalIdCache first query.png ├── Hibernate NaturalIdCache second query.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── naturalid │ │ ├── NaturalRepository.java │ │ └── NaturalRepositoryImpl.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ ├── ehcache.xml │ └── logback-spring.xml ├── HibernateSpringBootNaturalIdImpl ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── naturalid │ │ ├── NaturalRepository.java │ │ └── NaturalRepositoryImpl.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootNestedVsVirtualProjection ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ ├── AuthorClassDto.java │ │ ├── BookDto.java │ │ ├── SimpleBookDto.java │ │ └── VirtualBookDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── util │ │ └── AuthorMapper.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootOffsetPagination ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootOneToManyBidirectional ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootOneToManyUnidirectional ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootOneToOneMapsId ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootOptimisticForceIncrement ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Chapter.java │ │ └── Modification.java │ │ ├── repository │ │ ├── ChapterRepository.java │ │ └── ModificationRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootOptional ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootOrderByRandom ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootP6spy ├── README.md ├── p6spy.png ├── pom.xml ├── spy.properties └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootPageDtoOffsetPagination ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPageDtoOffsetPaginationWF ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPageEntityOffsetPaginationExtraColumn ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPageEntityOffsetPaginationExtraColumnWF ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPageEntityOffsetPaginationProjection ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── projection │ │ └── AuthorInfo.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPaginationRowNumber ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootParentChildSeparateQueries ├── Fetch Parent And Children In Different Queries.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPesimisticForceIncrement ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Chapter.java │ │ └── Modification.java │ │ ├── repository │ │ ├── ChapterRepository.java │ │ └── ModificationRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPessimisticLocks ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPessimisticLocksDelInsUpd ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPooled ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootPooledLo ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootPopulatingChildViaProxy ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPostCommit ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPostgresSqlSkipLocked ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Book.java │ │ └── BookStatus.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-postgresql.sql ├── HibernateSpringBootProjectionAndCollections ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── jdbcTemplate │ │ └── dto │ │ │ ├── AuthorDto.java │ │ │ ├── AuthorExtractor.java │ │ │ └── BookDto.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ ├── spring │ │ └── dto │ │ │ ├── AuthorDto.java │ │ │ └── SimpleAuthorDto.java │ │ └── transform │ │ └── dto │ │ ├── AuthorDto.java │ │ ├── AuthorTransformer.java │ │ └── BookDto.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootPropertyExpressions ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ ├── AuthorDto.java │ │ └── BookDto.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ └── Review.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── BookRepository.java │ │ └── ReviewRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootQueryFetching ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── Dao.java │ │ └── GenericDao.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootQueryPlanCache ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootRankFunction ├── README.md ├── assign ranking to rows.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootReadOnlyQueries ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootRecordAndEmbeddables ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── embeddable │ │ └── Contact.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data.sql ├── HibernateSpringBootRedundantSave ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootReferenceNaturalId ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── naturalid │ │ ├── NaturalRepository.java │ │ └── NaturalRepositoryImpl.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootRepoIntercept ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── profiler │ │ └── RepositoryProfiler.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootResultSetMap ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootRetryVersionedOptimisticLocking ├── README.md ├── Retry Optimistic Lock.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Inventory.java │ │ ├── repository │ │ └── InventoryRepository.java │ │ └── service │ │ ├── BookstoreService.java │ │ └── InventoryService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootRetryVersionedOptimisticLockingTT ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Inventory.java │ │ ├── repository │ │ └── InventoryRepository.java │ │ └── service │ │ └── InventoryService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootRetryVersionlessOptimisticLocking ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Inventory.java │ │ ├── repository │ │ └── InventoryRepository.java │ │ └── service │ │ ├── BookstoreService.java │ │ └── InventoryService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootRetryVersionlessOptimisticLockingTT ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Inventory.java │ │ ├── repository │ │ └── InventoryRepository.java │ │ └── service │ │ └── InventoryService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootReturnGeneratedKeys ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── AuthorDao.java │ │ ├── JdbcTemplateDao.java │ │ └── SimpleJdbcInsertDao.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootReuseProjection ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSaveAndMerge ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSchemaGeneration ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ └── entity │ │ ├── Author.java │ │ └── Book.java │ └── resources │ ├── META-INF │ └── data.sql │ └── application.properties ├── HibernateSpringBootSchemaSql ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── schema-mysql.sql ├── HibernateSpringBootSearchViaSpecifications ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── builder │ │ ├── Condition.java │ │ ├── SpecificationBuilder.java │ │ └── SpecificationChunk.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSessionRepeatableReads ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dao │ │ ├── Dao.java │ │ └── GenericDao.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSimulateNPlus1 ├── README.md ├── pom.xml ├── simulate N+1.png └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSimulateVersionedOptimisticLocking ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Inventory.java │ │ ├── repository │ │ └── InventoryRepository.java │ │ └── service │ │ └── InventoryService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSimulateVersionlessOptimisticLocking ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Inventory.java │ │ ├── repository │ │ └── InventoryRepository.java │ │ └── service │ │ └── InventoryService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSingleTableInheritance ├── README.md ├── Single table inheritance.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── BookRepository.java │ │ ├── EbookRepository.java │ │ └── PaperbackRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSingleTableRepositoryInheritance ├── README.md ├── Single table inheritance.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── BookBaseRepository.java │ │ ├── BookRepository.java │ │ ├── EbookRepository.java │ │ └── PaperbackRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootSliceAllCriteriaBuilder ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── impl │ │ │ └── SlicePagingRepositoryImplementation.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSliceAllCriteriaBuilderAndSort ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── impl │ │ │ └── SlicePagingRepositoryImplementation.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSliceAllCriteriaBuilderSimpleJpaRepository ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── impl │ │ │ └── SlicePagingRepositoryImplementation.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSliceAllCriteriaBuilderSortAndSpecification ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── impl │ │ │ └── SlicePagingRepositoryImplementation.java │ │ └── service │ │ ├── AuthorSpecs.java │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSliceAllCriteriaBuilderSortAndSpecificationAndQueryHints ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── impl │ │ │ └── SlicePagingRepositoryImplementation.java │ │ └── service │ │ ├── AuthorSpecs.java │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSliceAllSimpleSql ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── impl │ │ │ └── SlicePagingRepositoryImplementation.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSliceAllViaFetchAll ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSoftDeletes ├── README.md ├── pom.xml ├── soft deletes.png └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── BaseEntity.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSoftDeletesSpringStyle ├── README.md ├── pom.xml ├── soft deletes.png └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── BaseEntity.java │ │ └── Book.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── BookRepository.java │ │ └── SoftDeleteRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSpecificSubclassFromInheritance ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── BookRepository.java │ │ ├── EbookRepository.java │ │ └── PaperbackRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootSpecificationQueryFetchJoins ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ ├── AuthorDto.java │ │ └── BookDto.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── specs │ │ ├── JoinFetchInIdsSpecification.java │ │ └── JoinFetchSpecification.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSpringCacheEhCacheKickoff ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ ├── ehcache.xml │ └── logback-spring.xml ├── HibernateSpringBootStreamAndMySQL ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootStreamable ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorName.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSubentities ├── README.md ├── attributes lazy loading via subentites.png ├── avatars │ ├── cd.png │ ├── mt.png │ └── re.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ ├── AuthorDeep.java │ │ ├── AuthorShallow.java │ │ └── BaseAuthor.java │ │ ├── repository │ │ ├── AuthorDeepRepository.java │ │ └── AuthorShallowRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootSubqueryInWhere ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Bestseller.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSubselect ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorSummaryRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── summary │ │ └── AuthorSummary.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootSuppressLazyInitInOpenSessionInView ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── controller │ │ └── BookstoreController.java │ │ ├── entity │ │ ├── Author.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootTablePerClassInheritance ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── BookRepository.java │ │ ├── EbookRepository.java │ │ └── PaperbackRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootTablePerClassRepositoryInheritance ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ ├── AuthorRepository.java │ │ ├── BookBaseRepository.java │ │ ├── BookRepository.java │ │ ├── EbookRepository.java │ │ └── PaperbackRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootTablesMetadata ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ ├── DatabaseTableMetadataExtractor.java │ │ └── EntityManagerFactoryConfig.java │ │ ├── entity │ │ ├── Author.java │ │ ├── Book.java │ │ ├── Ebook.java │ │ └── Paperback.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootTimestampGeneration ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── by │ │ ├── ByValueGenerator.java │ │ ├── CreatedBy.java │ │ ├── CreatedByValueGeneration.java │ │ ├── ModifiedBy.java │ │ └── ModifiedByValueGeneration.java │ │ ├── entity │ │ ├── Author.java │ │ ├── BaseEntity.java │ │ └── Book.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ ├── BookstoreService.java │ │ └── UserService.java │ └── resources │ └── application.properties ├── HibernateSpringBootTopNRowsPerGroup ├── Finding top N rows of every group.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootTransactionCallback ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── profiler │ │ └── TransactionProfiler.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootTransactionId ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootTransactionPropagation ├── HibernateSpringBootTransactionMandatoryAndRollback │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── bookstore │ │ │ ├── MainApplication.java │ │ │ ├── entity │ │ │ └── Author.java │ │ │ ├── repository │ │ │ └── AuthorRepository.java │ │ │ └── service │ │ │ ├── InsertFirstAuthorService.java │ │ │ └── InsertSecondAuthorService.java │ │ └── resources │ │ └── application.properties ├── HibernateSpringBootTransactionNestedAndException │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── bookstore │ │ │ ├── MainApplication.java │ │ │ ├── entity │ │ │ └── Author.java │ │ │ ├── repository │ │ │ └── AuthorRepository.java │ │ │ └── service │ │ │ ├── InsertFirstAuthorService.java │ │ │ └── InsertSecondAuthorService.java │ │ └── resources │ │ └── application.properties ├── HibernateSpringBootTransactionNever │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── bookstore │ │ │ ├── MainApplication.java │ │ │ ├── entity │ │ │ └── Author.java │ │ │ ├── repository │ │ │ └── AuthorRepository.java │ │ │ └── service │ │ │ └── InsertFirstAuthorService.java │ │ └── resources │ │ └── application.properties ├── HibernateSpringBootTransactionNotSupportedAndRollback │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── bookstore │ │ │ ├── MainApplication.java │ │ │ ├── entity │ │ │ └── Author.java │ │ │ ├── repository │ │ │ └── AuthorRepository.java │ │ │ └── service │ │ │ ├── InsertFirstAuthorService.java │ │ │ └── InsertSecondAuthorService.java │ │ └── resources │ │ └── application.properties ├── HibernateSpringBootTransactionRequiredAndRollback │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── bookstore │ │ │ ├── MainApplication.java │ │ │ ├── entity │ │ │ └── Author.java │ │ │ ├── repository │ │ │ └── AuthorRepository.java │ │ │ └── service │ │ │ ├── InsertFirstAuthorService.java │ │ │ └── InsertSecondAuthorService.java │ │ └── resources │ │ └── application.properties ├── HibernateSpringBootTransactionRequiresNewAndRollback │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── bookstore │ │ │ ├── MainApplication.java │ │ │ ├── entity │ │ │ └── Author.java │ │ │ ├── repository │ │ │ └── AuthorRepository.java │ │ │ └── service │ │ │ ├── InsertFirstAuthorService.java │ │ │ └── InsertSecondAuthorService.java │ │ └── resources │ │ └── application.properties ├── HibernateSpringBootTransactionSupportsAndRollback │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── bookstore │ │ │ ├── MainApplication.java │ │ │ ├── entity │ │ │ └── Author.java │ │ │ ├── repository │ │ │ └── AuthorRepository.java │ │ │ └── service │ │ │ ├── InsertFirstAuthorService.java │ │ │ └── InsertSecondAuthorService.java │ │ └── resources │ │ └── application.properties └── README.md ├── HibernateSpringBootTransactionTimeout ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootTransactionalInRepository ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootTransactionalReadOnlyMeaning ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── AuthorDto.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootTwoDataSourceBuilderKickoff ├── README.md ├── Two DataSources.png ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── config │ │ ├── ConfigureDataSources.java │ │ ├── FirstEntityManagerFactory.java │ │ └── SecondEntityManagerFactory.java │ │ ├── ds1 │ │ ├── Author.java │ │ ├── AuthorRepository.java │ │ └── AuthorService.java │ │ ├── ds2 │ │ ├── Book.java │ │ ├── BookRepository.java │ │ └── BookService.java │ │ └── service │ │ └── AuthorBookService.java │ └── resources │ └── application.properties ├── HibernateSpringBootUTCTimezone ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── app │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Screenshot.java │ │ ├── repository │ │ └── ScreenshotRepository.java │ │ └── service │ │ └── ScreenshotService.java │ └── resources │ └── application.properties ├── HibernateSpringBootUUID2 ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── HibernateSpringBootUnproxyAProxy ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootVersionedOptimisticLockingAndDettachedEntity ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Inventory.java │ │ ├── repository │ │ └── InventoryRepository.java │ │ └── service │ │ └── InventoryService.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootWhyTransactionalIsIgnored ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Author.java │ │ ├── repository │ │ └── AuthorRepository.java │ │ └── service │ │ ├── BookstoreService.java │ │ └── HelperService.java │ └── resources │ └── application.properties ├── HibernateSpringBootWrapperTypeStreamable ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── dto │ │ └── BookDto.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ ├── service │ │ └── BookstoreService.java │ │ └── wrapper │ │ └── Books.java │ └── resources │ ├── application.properties │ └── data-mysql.sql ├── HibernateSpringBootYearMonth ├── Hibernate Types library.png ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ └── bookstore │ │ ├── MainApplication.java │ │ ├── entity │ │ └── Book.java │ │ ├── repository │ │ └── BookRepository.java │ │ └── service │ │ └── BookstoreService.java │ └── resources │ └── application.properties ├── Java EE ├── AMPCJoinBMT │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── sample │ │ │ ├── JAXRSConfiguration.java │ │ │ ├── boundary │ │ │ └── PlayerResource.java │ │ │ └── model │ │ │ └── Player.java │ │ ├── resources │ │ └── META-INF │ │ │ └── persistence.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── beans.xml │ │ └── index.html ├── AMPCandBMT │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── sample │ │ │ ├── JAXRSConfiguration.java │ │ │ ├── boundary │ │ │ └── PlayerResource.java │ │ │ └── model │ │ │ └── Player.java │ │ ├── resources │ │ └── META-INF │ │ │ └── persistence.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── beans.xml │ │ └── index.html ├── AMPCandCMT │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── sample │ │ │ ├── JAXRSConfiguration.java │ │ │ ├── boundary │ │ │ └── PlayerResource.java │ │ │ └── model │ │ │ └── Player.java │ │ ├── resources │ │ └── META-INF │ │ │ └── persistence.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── beans.xml │ │ └── index.html ├── AMPCandRLTM1 │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── sample │ │ │ ├── JAXRSConfiguration.java │ │ │ ├── boundary │ │ │ └── PlayerResource.java │ │ │ └── model │ │ │ └── Player.java │ │ ├── resources │ │ └── META-INF │ │ │ └── persistence.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── beans.xml │ │ └── index.html ├── AMPCandRLTM2 │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── sample │ │ │ ├── JAXRSConfiguration.java │ │ │ ├── boundary │ │ │ └── PlayerResource.java │ │ │ └── model │ │ │ └── Player.java │ │ ├── resources │ │ └── META-INF │ │ │ └── persistence.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── beans.xml │ │ └── index.html ├── CMPCandBMT │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── sample │ │ │ ├── JAXRSConfiguration.java │ │ │ ├── boundary │ │ │ └── PlayerResource.java │ │ │ └── model │ │ │ └── Player.java │ │ ├── resources │ │ └── META-INF │ │ │ └── persistence.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── beans.xml │ │ └── index.html ├── CMPCandCMT │ ├── README.md │ ├── pom.xml │ └── src │ │ └── main │ │ ├── java │ │ └── com │ │ │ └── sample │ │ │ ├── JAXRSConfiguration.java │ │ │ ├── boundary │ │ │ └── PlayerResource.java │ │ │ └── model │ │ │ └── Player.java │ │ ├── resources │ │ └── META-INF │ │ │ └── persistence.xml │ │ └── webapp │ │ ├── WEB-INF │ │ └── beans.xml │ │ └── index.html └── README.md ├── Java Persistence Performance Illustrated Guide.jpg ├── LICENSE ├── README.md ├── Spring Boot Persistence Best Practices.jpg ├── SpringBootPayaraMySqlKickoffApplication ├── README.md ├── pom.xml └── src │ └── main │ ├── java │ └── com │ │ ├── config │ │ └── DataSourceConfigurer.java │ │ ├── http │ │ └── requests │ │ │ └── PlayerController.java │ │ ├── jpa │ │ ├── model │ │ │ └── Player.java │ │ └── queries │ │ │ └── PlayerRepository.java │ │ ├── main │ │ └── SpringBootPayaraMySqlKickoffApplication.java │ │ └── services │ │ └── PlayerService.java │ ├── resources │ └── application.properties │ └── webapp │ ├── WEB-INF │ ├── glassfish-web.xml │ └── web.xml │ └── index.html └── _config.yml /.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | dist/ 3 | nbproject/ 4 | target/ 5 | build.xml 6 | manifest.mf 7 | nbactions.xml 8 | nb-configuration.xml 9 | -------------------------------------------------------------------------------- /ChunkList/head-to-head.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/ChunkList/head-to-head.png -------------------------------------------------------------------------------- /HibernateSpringBootAssignSequentialNumber/assign sequential number to rows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAssignSequentialNumber/assign sequential number to rows.png -------------------------------------------------------------------------------- /HibernateSpringBootAssignSequentialNumber/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public int getAge(); 8 | 9 | public int getRowNum(); 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootAssignedUUID/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingBasic/avatars/cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAttributeLazyLoadingBasic/avatars/cd.png -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingBasic/avatars/mt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAttributeLazyLoadingBasic/avatars/mt.png -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingBasic/avatars/re.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAttributeLazyLoadingBasic/avatars/re.png -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingBasic/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | public byte[] getAvatar(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingBasic/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingDefaultValues/avatars/cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAttributeLazyLoadingDefaultValues/avatars/cd.png -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingDefaultValues/avatars/mt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAttributeLazyLoadingDefaultValues/avatars/mt.png -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingDefaultValues/avatars/re.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAttributeLazyLoadingDefaultValues/avatars/re.png -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingDefaultValues/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false 11 | 12 | -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingJacksonSerialization/avatars/cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAttributeLazyLoadingJacksonSerialization/avatars/cd.png -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingJacksonSerialization/avatars/mt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAttributeLazyLoadingJacksonSerialization/avatars/mt.png -------------------------------------------------------------------------------- /HibernateSpringBootAttributeLazyLoadingJacksonSerialization/avatars/re.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAttributeLazyLoadingJacksonSerialization/avatars/re.png -------------------------------------------------------------------------------- /HibernateSpringBootAudit/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | 10 | public Author findByName(String name); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootAutoGeneratorType/Hibernate Spring Boot Auto Generator Type.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootAutoGeneratorType/Hibernate Spring Boot Auto Generator Type.png -------------------------------------------------------------------------------- /HibernateSpringBootAutoGeneratorType/src/main/java/com/bookstore/repository/AuthorBadRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.AuthorBad; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorBadRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootAutoGeneratorType/src/main/java/com/bookstore/repository/AuthorGoodRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.AuthorGood; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorGoodRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootAutoUUID/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchDeleteCascadeDelete/batch delete via SQL cascade delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchDeleteCascadeDelete/batch delete via SQL cascade delete.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchDeleteOrphanRemoval/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchDeleteSingleEntity/batch deletes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchDeleteSingleEntity/batch deletes.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertOrder/batch inserts including associations no order of inserts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertOrder/batch inserts including associations no order of inserts.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertOrder/batch inserts including associations ordered inserts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertOrder/batch inserts including associations ordered inserts.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertOrder/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.impl.BatchRepository; 4 | import com.bookstore.entity.Author; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends BatchRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertOrderBatchPerTransaction/batch inserts including associations no order of inserts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertOrderBatchPerTransaction/batch inserts including associations no order of inserts.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertOrderBatchPerTransaction/batch inserts including associations ordered inserts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertOrderBatchPerTransaction/batch inserts including associations ordered inserts.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertOrderBatchPerTransaction/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.impl.BatchRepository; 4 | import com.bookstore.entity.Author; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends BatchRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsCompletableFuture/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.impl.BatchRepository; 4 | import com.bookstore.entity.Author; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends BatchRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsCompletableFutureReturnGivenList/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.impl.BatchRepository; 4 | import com.bookstore.entity.Author; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends BatchRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsCompletableFutureReturnList/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.impl.BatchRepository; 4 | import com.bookstore.entity.Author; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends BatchRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsEntityManager/batch inserts via EntityManager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertsEntityManager/batch inserts via EntityManager.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsEntityManager/src/main/java/com/bookstore/dao/GenericDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface GenericDao { 6 | 7 | void saveInBatch(Iterable entites); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsEntityManagerBatchPerTransaction/batch inserts via EntityManager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertsEntityManagerBatchPerTransaction/batch inserts via EntityManager.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsEntityManagerBatchPerTransaction/src/main/java/com/bookstore/dao/GenericDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface GenericDao { 6 | 7 | void saveInBatch(Iterable entites); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsEntityManagerViaJpaContext/batch inserts via JpaContext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertsEntityManagerViaJpaContext/batch inserts via JpaContext.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsEntityManagerViaJpaContext/src/main/java/com/bookstore/dao/GenericDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface GenericDao { 6 | 7 | void saveInBatch(Iterable entites); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsJpaRepository/batch inserts via saveAll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertsJpaRepository/batch inserts via saveAll.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsJpaRepository/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsSpringStyle/batch inserts in spring boot style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertsSpringStyle/batch inserts in spring boot style.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsSpringStyle/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.impl.BatchRepository; 4 | import com.bookstore.entity.Author; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends BatchRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsSpringStyleBatchPerTransaction/batch inserts in spring boot style.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertsSpringStyleBatchPerTransaction/batch inserts in spring boot style.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsSpringStyleBatchPerTransaction/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.impl.BatchRepository; 4 | import com.bookstore.entity.Author; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends BatchRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsViaSession/batch inserts via Session.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertsViaSession/batch inserts via Session.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsViaSession/src/main/java/com/bookstore/dao/GenericDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface GenericDao { 6 | 7 | void saveInBatch(Iterable entites); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsViaSessionPerTransaction/batch inserts via EntityManager.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchInsertsViaSessionPerTransaction/batch inserts via EntityManager.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchInsertsViaSessionPerTransaction/src/main/java/com/bookstore/dao/GenericDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface GenericDao { 6 | 7 | void saveInBatch(Iterable entites); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchJsonFileForkJoin/citylots_200000_lines.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchJsonFileForkJoin/citylots_200000_lines.zip -------------------------------------------------------------------------------- /HibernateSpringBootBatchJsonFileForkJoin/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | -- Drop 2 | DROP TABLE IF EXISTS `citylots_db`.`lots`; 3 | 4 | -- Create the table 5 | CREATE TABLE `lots` ( 6 | `lot` json DEFAULT NULL 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootBatchUpdateOrder/batch updates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchUpdateOrder/batch updates.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchUpdateOrderSingleEntity/batch updates.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchUpdateOrderSingleEntity/batch updates.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchUpdateOrderSingleEntity/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootBatchingAndSerial/PostgreSQL (BIG)SERIAL and Batching Inserts.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootBatchingAndSerial/PostgreSQL (BIG)SERIAL and Batching Inserts.png -------------------------------------------------------------------------------- /HibernateSpringBootBatchingAndSerial/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootCalculatePropertyFormula/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootCalculatePropertyGenerated/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | 10 | public Book findByTitle(String title); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootCalculatePropertyGenerated/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | -- Drop 2 | DROP TABLE IF EXISTS bookstoredb.book; 3 | 4 | -- Create 5 | CREATE TABLE book ( 6 | id BIGINT NOT NULL AUTO_INCREMENT, 7 | discounted DOUBLE GENERATED ALWAYS AS ((`price` - `price` * 0.25)) STORED, 8 | isbn VARCHAR(255), 9 | price DOUBLE PRECISION NOT NULL, 10 | title VARCHAR(255), 11 | PRIMARY KEY (id) 12 | ) -------------------------------------------------------------------------------- /HibernateSpringBootCalculatePropertyPostLoad/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootCallStoredProcedureJdbcTemplate/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootCallStoredProcedureJdbcTemplateBeanPropertyRowMapper/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootCallStoredProcedureNativeCall/src/main/java/com/bookstore/dto/AuthorNicknameAndAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorNicknameAndAge { 4 | 5 | public String getNickname(); 6 | public int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootChooseOnlyOneAssociation/src/main/java/com/bookstore/repository/ArticleRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Article; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface ArticleRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootChooseOnlyOneAssociation/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootChooseOnlyOneAssociation/src/main/java/com/bookstore/repository/MagazineRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Magazine; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface MagazineRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootChooseOnlyOneAssociation/src/main/java/com/bookstore/repository/ReviewRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Review; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface ReviewRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootCompositeKeyEmbeddable/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootCompositeKeyEmbeddable/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootCompositeKeyEmbeddableMapRel/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootCompositeKeyIdClass/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootCompositeKeyIdClass/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootCompositeKeySeqIdClass/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootCompositeKeySeqIdClass/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:postgresql://localhost:5432/postgres 2 | spring.datasource.username=postgres 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootCountSQLStatements/count and assert SQL.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootCountSQLStatements/count and assert SQL.png -------------------------------------------------------------------------------- /HibernateSpringBootCountSQLStatements/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootCountSQLStatements/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | -- insert authors 2 | INSERT INTO `author` (`age`, `name`, `genre`, `id`) VALUES (23, "Mark Janel", "Anthology", 1); 3 | INSERT INTO `author` (`age`, `name`, `genre`, `id`) VALUES (43, "Olivia Goy", "Horror", 2); 4 | INSERT INTO `author` (`age`, `name`, `genre`, `id`) VALUES (51, "Quartis Young", "Anthology", 3); 5 | INSERT INTO `author` (`age`, `name`, `genre`, `id`) VALUES (34, "Joana Nimar", "History", 4); -------------------------------------------------------------------------------- /HibernateSpringBootCustomSequenceGenerator/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderBoneCPKickoff/BoneCP trace log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDataSourceBuilderBoneCPKickoff/BoneCP trace log.png -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderBoneCPKickoff/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | -- Drop 2 | DROP TABLE IF EXISTS `numberdb`.`ints`; 3 | 4 | -- Create the table 5 | CREATE TABLE `numberdb`.`ints` ( 6 | `nr` INT DEFAULT NULL 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderC3P0Kickoff/C3P0 trace log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDataSourceBuilderC3P0Kickoff/C3P0 trace log.png -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderC3P0Kickoff/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | -- Drop 2 | DROP TABLE IF EXISTS `numberdb`.`ints`; 3 | 4 | -- Create the table 5 | CREATE TABLE `numberdb`.`ints` ( 6 | `nr` INT DEFAULT NULL 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderDBCP2Kickoff/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | -- Drop 2 | DROP TABLE IF EXISTS `numberdb`.`ints`; 3 | 4 | -- Create the table 5 | CREATE TABLE `numberdb`.`ints` ( 6 | `nr` INT DEFAULT NULL 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderHikariCPKickoff/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | -- Drop 2 | DROP TABLE IF EXISTS `numberdb`.`ints`; 3 | 4 | -- Create the table 5 | CREATE TABLE `numberdb`.`ints` ( 6 | `nr` INT DEFAULT NULL 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderProgHikariCPKickoff/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.initialization-mode=always 2 | spring.datasource.platform=mysql 3 | 4 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 5 | 6 | logging.level.com.zaxxer.hikari.HikariConfig=DEBUG 7 | logging.level.com.zaxxer.hikari=TRACE 8 | 9 | spring.jpa.open-in-view=false 10 | 11 | spring.jpa.hibernate.ddl-auto=create -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderProgHikariCPKickoff/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | -- Drop 2 | DROP TABLE IF EXISTS `numberdb`.`ints`; 3 | 4 | -- Create the table 5 | CREATE TABLE `numberdb`.`ints` ( 6 | `nr` INT DEFAULT NULL 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderTomcatKickoff/Tomcat trace log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDataSourceBuilderTomcatKickoff/Tomcat trace log.png -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderTomcatKickoff/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | -- Drop 2 | DROP TABLE IF EXISTS `numberdb`.`ints`; 3 | 4 | -- Create the table 5 | CREATE TABLE `numberdb`.`ints` ( 6 | `nr` INT DEFAULT NULL 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderViburDBCPKickoff/ViburDBCP log trace.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDataSourceBuilderViburDBCPKickoff/ViburDBCP log trace.png -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceBuilderViburDBCPKickoff/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | -- Drop 2 | DROP TABLE IF EXISTS `numberdb`.`ints`; 3 | 4 | -- Create the table 5 | CREATE TABLE `numberdb`.`ints` ( 6 | `nr` INT DEFAULT NULL 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceProxy/query details via datasource-proxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDataSourceProxy/query details via datasource-proxy.png -------------------------------------------------------------------------------- /HibernateSpringBootDataSourceProxy/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=false 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootDatabaseTriggers/MySQL_Trigger_For_Complex_Data_Integrity_Checks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDatabaseTriggers/MySQL_Trigger_For_Complex_Data_Integrity_Checks.png -------------------------------------------------------------------------------- /HibernateSpringBootDatabaseTriggers/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootDatabaseViewUpdateInsertDelete/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS author ^; 2 | 3 | CREATE TABLE author ( 4 | id bigint(20) NOT NULL AUTO_INCREMENT, 5 | age int(11) NOT NULL, 6 | genre varchar(255) NOT NULL, 7 | name varchar(255) NOT NULL, 8 | sellrank int(11) NOT NULL DEFAULT -1, 9 | royalties int(11) NOT NULL DEFAULT -1, 10 | rating int(11) NOT NULL DEFAULT -1, 11 | PRIMARY KEY (id) 12 | ) ^; -------------------------------------------------------------------------------- /HibernateSpringBootDatabaseViewWithCheckOption/src/main/java/com/bookstore/repository/AuthorAnthologyViewRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.view.AuthorAnthologyView; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorAnthologyViewRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootDatabaseViewWithCheckOption/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE IF EXISTS author ^; 2 | 3 | CREATE TABLE author ( 4 | id bigint(20) NOT NULL AUTO_INCREMENT, 5 | age int(11) NOT NULL, 6 | genre varchar(255) NOT NULL, 7 | name varchar(255) NOT NULL, 8 | sellrank int(11) NOT NULL DEFAULT -1, 9 | royalties int(11) NOT NULL DEFAULT -1, 10 | rating int(11) NOT NULL DEFAULT -1, 11 | PRIMARY KEY (id) 12 | ) ^; -------------------------------------------------------------------------------- /HibernateSpringBootDelayConnection/delay connection acquisition 1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDelayConnection/delay connection acquisition 1.png -------------------------------------------------------------------------------- /HibernateSpringBootDelayConnection/delay connection acquisition 2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDelayConnection/delay connection acquisition 2.png -------------------------------------------------------------------------------- /HibernateSpringBootDelayConnection/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootDelayConnection/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into author (age, name, genre, id) values (23, "Mark Janel", "Anthology", 1); -------------------------------------------------------------------------------- /HibernateSpringBootDenseRankFunction/assign ranking to rows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDenseRankFunction/assign ranking to rows.png -------------------------------------------------------------------------------- /HibernateSpringBootDenseRankFunction/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public String getGenre(); 8 | 9 | public int getAge(); 10 | 11 | public int getRankNum(); 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootDerivedCountAndDelete/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public String getAge(); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootDirectFetching/src/main/java/com/bookstore/dao/GenericDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import java.io.Serializable; 4 | import java.util.Optional; 5 | 6 | public interface GenericDao { 7 | 8 | Optional find(Class clazz, ID id); 9 | 10 | Optional findViaSession(Class clazz, ID id); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootDirectFetching/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootDirectFetching/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into author (age, name, genre, id) values (23, "Mark Janel", "Anthology", 1); -------------------------------------------------------------------------------- /HibernateSpringBootDomainEvents/src/main/java/com/bookstore/entity/ReviewStatus.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.entity; 2 | 3 | public enum ReviewStatus { 4 | 5 | CHECK, ACCEPT, REJECT 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootDomainEvents/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoBlazeEntityView/src/main/java/com/bookstore/projection/AuthorNameAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameAge { 4 | 5 | String getName(); 6 | int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoBlazeEntityView/src/main/java/com/bookstore/view/AuthorView.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.view; 2 | 3 | import com.blazebit.persistence.view.EntityView; 4 | import com.bookstore.entity.Author; 5 | 6 | @EntityView(Author.class) 7 | public interface AuthorView { 8 | 9 | public String getName(); 10 | public int getAge(); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoCustomResultTransformer/src/main/java/com/bookstore/dao/AuthorDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import com.bookstore.dto.AuthorDto; 4 | import java.util.List; 5 | 6 | public interface AuthorDao { 7 | 8 | public List fetchAuthorWithBook(); 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoElementCollection/src/main/java/com/bookstore/dto/ShoppingCartDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface ShoppingCartDto { 4 | 5 | public String getOwner(); 6 | public String getTitle(); 7 | public int getPrice(); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoEntityViaProjection/src/main/java/com/bookstore/dto/BookstoreDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | import com.bookstore.entity.Author; 4 | 5 | public interface BookstoreDto { 6 | 7 | public Author getAuthor(); 8 | public String getTitle(); 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoEntityViaProjectionNoAssociation/src/main/java/com/bookstore/dto/BookstoreDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | import com.bookstore.entity.Author; 4 | 5 | public interface BookstoreDto { 6 | 7 | public Author getAuthor(); 8 | public String getTitle(); 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoRecordConstructor/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public record AuthorDto(String name, int age) {} 4 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoRecordConstructorExpression/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public record AuthorDto(String name, int age) {} 4 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoRecordJbcTemplate/src/main/java/com/bookstore/jdbcTemplate/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.jdbcTemplate.dto; 2 | 3 | import java.util.List; 4 | 5 | public record AuthorDto(Long id, String name, int age, List books) { 6 | 7 | public void addBook(BookDto book) { 8 | books().add(book); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoRecordJbcTemplate/src/main/java/com/bookstore/jdbcTemplate/dto/BookDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.jdbcTemplate.dto; 2 | 3 | public record BookDto(Long id, String title) {} -------------------------------------------------------------------------------- /HibernateSpringBootDtoRecordResultTransformer/src/main/java/com/bookstore/dao/AuthorDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import java.util.List; 4 | 5 | import com.bookstore.dto.AuthorDto; 6 | 7 | public interface AuthorDao { 8 | 9 | public List fetchAuthorWithBook(); 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoRecordResultTransformer/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | import java.util.List; 4 | 5 | public record AuthorDto(Long id, String name, int age, List books) { 6 | 7 | public void addBook(BookDto book) { 8 | books().add(book); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoRecordResultTransformer/src/main/java/com/bookstore/dto/BookDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public record BookDto(Long id, String title) {} 4 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoResultTransformer/src/main/java/com/bookstore/dao/AuthorDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import com.bookstore.dto.AuthorDtoNoSetters; 4 | import com.bookstore.dto.AuthorDtoWithSetters; 5 | import java.util.List; 6 | 7 | public interface AuthorDao { 8 | 9 | public List fetchAuthorsNoSetters(); 10 | 11 | public List fetchAuthorsWithSetters(); 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoResultTransformerJpql/src/main/java/com/bookstore/dao/AuthorDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import com.bookstore.dto.AuthorDtoNoSetters; 4 | import com.bookstore.dto.AuthorDtoWithSetters; 5 | import java.util.List; 6 | 7 | public interface AuthorDao { 8 | 9 | public List fetchAuthorsNoSetters(); 10 | 11 | public List fetchAuthorsWithSetters(); 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoSpringProjectionAnnotatedNamedNativeQuery/src/main/java/com/bookstore/dto/AuthorNameAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorNameAge { 4 | 5 | public String getName(); 6 | public int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoSpringProjectionAnnotatedNamedQuery/src/main/java/com/bookstore/dto/AuthorNameAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorNameAge { 4 | 5 | public String getName(); 6 | public int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoSpringProjectionOrmXmlNamedNativeQuery/src/main/java/com/bookstore/dto/AuthorNameAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorNameAge { 4 | 5 | public String getName(); 6 | public int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoSpringProjectionOrmXmlNamedQuery/src/main/java/com/bookstore/dto/AuthorNameAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorNameAge { 4 | 5 | public String getName(); 6 | public int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoSpringProjectionPropertiesNamedNativeQuery/src/main/java/com/bookstore/dto/AuthorNameAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorNameAge { 4 | 5 | public String getName(); 6 | public int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoSpringProjectionPropertiesNamedNativeQuery/src/main/resources/META-INF/jpa-named-queries.properties: -------------------------------------------------------------------------------- 1 | # Find the names of authors 2 | Author.fetchName=SELECT name FROM author 3 | 4 | # Find the names and ages of authors 5 | Author.fetchNameAndAge=SELECT age, name FROM author 6 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoSpringProjectionPropertiesNamedQuery/src/main/java/com/bookstore/dto/AuthorNameAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorNameAge { 4 | 5 | public String getName(); 6 | public int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoSpringProjectionPropertiesNamedQuery/src/main/resources/META-INF/jpa-named-queries.properties: -------------------------------------------------------------------------------- 1 | # Find the names of authors 2 | Author.fetchName=SELECT a.name FROM Author a 3 | 4 | # Find the names and ages of authors 5 | Author.fetchNameAndAge=SELECT a.age AS age, a.name AS name FROM Author a -------------------------------------------------------------------------------- /HibernateSpringBootDtoSqlResultSetMapping/src/main/java/com/app/dao/GenericDao.java: -------------------------------------------------------------------------------- 1 | package com.app.dao; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface GenericDao { 6 | 7 | S persist(S entity); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoUnrelatedEntities/src/main/java/com/bookstore/dto/BookstoreDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface BookstoreDto { 4 | 5 | String getName(); 6 | 7 | String getTitle(); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaClassBasedProjections/DTOs via Spring projections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaClassBasedProjections/DTOs via Spring projections.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaCrossJoins/DTO via cross joins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaCrossJoins/DTO via cross joins.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaCrossJoins/src/main/java/com/bookstore/projection/BookTitleAndFormatType.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface BookTitleAndFormatType { 4 | 5 | String getTitle(); 6 | String getFormatType(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaFullJoins/DTO via inclusive full joins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaFullJoins/DTO via inclusive full joins.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaFullJoins/src/main/java/com/bookstore/projection/AuthorNameBookTitle.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameBookTitle { 4 | 5 | String getName(); 6 | String getTitle(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaFullJoinsMySQL/DTO via inclusive full joins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaFullJoinsMySQL/DTO via inclusive full joins.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaFullJoinsMySQL/src/main/java/com/bookstore/projection/AuthorNameBookTitle.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameBookTitle { 4 | 5 | String getName(); 6 | String getTitle(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaFullOuterExcludingJoins/DTO via exclusive full joins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaFullOuterExcludingJoins/DTO via exclusive full joins.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaFullOuterExcludingJoins/src/main/java/com/bookstore/projection/AuthorNameBookTitle.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameBookTitle { 4 | 5 | String getName(); 6 | String getTitle(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaInnerJoins/DTO via inner joins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaInnerJoins/DTO via inner joins.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaInnerJoins/src/main/java/com/bookstore/projection/AuthorNameBookTitle.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameBookTitle { 4 | 5 | String getName(); 6 | String getTitle(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaLeftExcludingJoins/DTO via exclusive left joins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaLeftExcludingJoins/DTO via exclusive left joins.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaLeftExcludingJoins/src/main/java/com/bookstore/projection/AuthorNameBookTitle.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameBookTitle { 4 | 5 | String getName(); 6 | String getTitle(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaLeftJoins/DTO via left joins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaLeftJoins/DTO via left joins.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaLeftJoins/src/main/java/com/bookstore/projection/AuthorNameBookTitle.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameBookTitle { 4 | 5 | String getName(); 6 | String getTitle(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaProjections/DTOs via Spring projections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaProjections/DTOs via Spring projections.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaProjections/src/main/java/com/bookstore/projection/AuthorNameAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameAge { 4 | 5 | String getName(); 6 | int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaProjectionsAndJpql/src/main/java/com/bookstore/projection/AuthorNameAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameAge { 4 | 5 | String getName(); 6 | int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaProjectionsAndVirtualProperties/dto spring projection and virtual properties.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaProjectionsAndVirtualProperties/dto spring projection and virtual properties.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaProjectionsIntefaceInRepo/DTOs via Spring projections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaProjectionsIntefaceInRepo/DTOs via Spring projections.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaRightExcludingJoins/DTO via exclusive right joins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaRightExcludingJoins/DTO via exclusive right joins.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaRightExcludingJoins/src/main/java/com/bookstore/projection/AuthorNameBookTitle.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameBookTitle { 4 | 5 | String getName(); 6 | String getTitle(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaRightJoins/DTO via right joins.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootDtoViaRightJoins/DTO via right joins.png -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaRightJoins/src/main/java/com/bookstore/projection/AuthorNameBookTitle.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | public interface AuthorNameBookTitle { 4 | 5 | String getName(); 6 | String getTitle(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDtoViaSqlResultSetMappingEm/src/main/java/com/bookstore/dao/AuthorDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import com.bookstore.dto.AuthorDto; 4 | import java.util.List; 5 | 6 | public interface AuthorDao { 7 | 8 | public List fetchNameAndAge(); 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootDynamicProjection/src/main/java/com/bookstore/dto/AuthorGenreDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorGenreDto { 4 | 5 | public String getGenre(); 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootDynamicProjection/src/main/java/com/bookstore/dto/AuthorNameEmailDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorNameEmailDto { 4 | 5 | public String getName(); 6 | public String getEmail(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootDynamicUpdate/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootElementCollectionNoOrderColumn/@ElementCollection without @OrderColumn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootElementCollectionNoOrderColumn/@ElementCollection without @OrderColumn.png -------------------------------------------------------------------------------- /HibernateSpringBootElementCollectionNoOrderColumn/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into shopping_cart (owner) values ("Mark Juno"); 2 | insert into shopping_cart_books (shopping_cart_id, title) values (1, "A History of Ancient Prague"); 3 | insert into shopping_cart_books (shopping_cart_id, title) values (1, "Carrie"); 4 | insert into shopping_cart_books (shopping_cart_id, title) values (1, "The Beatles Anthology"); 5 | -------------------------------------------------------------------------------- /HibernateSpringBootElementCollectionWithOrderColumn/@ElementCollection with @OrderColumn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootElementCollectionWithOrderColumn/@ElementCollection with @OrderColumn.png -------------------------------------------------------------------------------- /HibernateSpringBootElementCollectionWithOrderColumn/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into shopping_cart (owner) values ("Mark Juno"); 2 | insert into shopping_cart_books (shopping_cart_id, index_no, title) values (1, 0, "A History of Ancient Prague"); 3 | insert into shopping_cart_books (shopping_cart_id, index_no, title) values (1, 1, "Carrie"); 4 | insert into shopping_cart_books (shopping_cart_id, index_no, title) values (1, 2, "The Beatles Anthology"); 5 | -------------------------------------------------------------------------------- /HibernateSpringBootEnableDirtyTracking/Enable dirty tracking.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootEnableDirtyTracking/Enable dirty tracking.png -------------------------------------------------------------------------------- /HibernateSpringBootEnableDirtyTracking/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootEnableDirtyTracking/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootEnumAttributeConverter/src/main/java/com/bookstore/enums/GenreType.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.enums; 2 | 3 | public enum GenreType { 4 | 5 | HORROR, ANTHOLOGY, HISTORY 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootEnumAttributeConverter/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootEnumPostgreSQLCustomType/src/main/java/com/bookstore/enums/GenreType.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.enums; 2 | 3 | public enum GenreType { 4 | 5 | HORROR, ANTHOLOGY, HISTORY 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootEnumPostgreSQLCustomType/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootEnumPostgreSQLCustomType/src/main/java/com/bookstore/type/package-info.java: -------------------------------------------------------------------------------- 1 | @org.hibernate.annotations.TypeDef(name = "genre_enum_type", typeClass = PostgreSQLEnumType.class) 2 | 3 | package com.bookstore.type; 4 | -------------------------------------------------------------------------------- /HibernateSpringBootEnumPostgreSQLCustomType/src/main/resources/schema-postgresql.sql: -------------------------------------------------------------------------------- 1 | DROP TYPE IF EXISTS genre_info CASCADE; 2 | CREATE TYPE genre_info AS ENUM ('HORROR', 'ANTHOLOGY', 'HISTORY') -------------------------------------------------------------------------------- /HibernateSpringBootEnumPostgreSQLHibernateTypes/src/main/java/com/bookstore/enums/GenreType.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.enums; 2 | 3 | public enum GenreType { 4 | 5 | HORROR, ANTHOLOGY, HISTORY 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootEnumPostgreSQLHibernateTypes/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootEnumPostgreSQLHibernateTypes/src/main/resources/schema-postgresql.sql: -------------------------------------------------------------------------------- 1 | DROP TYPE IF EXISTS genre_info CASCADE; 2 | CREATE TYPE genre_info AS ENUM ('HORROR', 'ANTHOLOGY', 'HISTORY') -------------------------------------------------------------------------------- /HibernateSpringBootEnumStringInt/src/main/java/com/bookstore/enums/GenreType.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.enums; 2 | 3 | public enum GenreType { 4 | 5 | HORROR, ANTHOLOGY, HISTORY 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootEnumStringInt/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootEnvers/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | 10 | public Author findByName(String name); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootEnvers/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootEnversSchemaSql/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | 10 | public Author findByName(String name); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootEnversSchemaSql/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootFilterAssociation/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootFluentApiAdditionalMethods/fluent api with additional methods.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootFluentApiAdditionalMethods/fluent api with additional methods.png -------------------------------------------------------------------------------- /HibernateSpringBootFluentApiAdditionalMethods/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootFluentApiOnSetters/fluent entity setters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootFluentApiOnSetters/fluent entity setters.png -------------------------------------------------------------------------------- /HibernateSpringBootFluentApiOnSetters/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/db_tennis?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLDatabase/flyway_schema_history table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootFlywayMySQLDatabase/flyway_schema_history table.png -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLDatabase/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/ 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.show-sql=true 6 | 7 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 8 | 9 | spring.jpa.open-in-view=false 10 | 11 | spring.flyway.schemas=bookstoredb -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLDatabase/src/main/resources/db/migration/V1.1__CreateAuthorTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE author ( 2 | id bigint(20) NOT NULL AUTO_INCREMENT, 3 | age int(11) NOT NULL, 4 | genre varchar(255) DEFAULT NULL, 5 | name varchar(255) DEFAULT NULL, 6 | PRIMARY KEY (id) 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLDatabase/src/main/resources/db/migration/V1.2__CreateBookTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE book ( 2 | id bigint(20) NOT NULL AUTO_INCREMENT, 3 | isbn varchar(255) DEFAULT NULL, 4 | title varchar(255) DEFAULT NULL, 5 | author_id bigint(20) DEFAULT NULL, 6 | PRIMARY KEY (id), 7 | KEY FKklnrv3weler2ftkweewlky958 (author_id), 8 | CONSTRAINT FKklnrv3weler2ftkweewlky958 FOREIGN KEY (author_id) REFERENCES author (id) 9 | ); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLProg/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.flyway.enabled=false 2 | spring.jpa.show-sql=true 3 | 4 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect 5 | -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLProg/src/main/resources/db/migration/V1.1__CreateAuthorTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE author ( 2 | id bigint(20) NOT NULL AUTO_INCREMENT, 3 | age int(11) NOT NULL, 4 | genre varchar(255) DEFAULT NULL, 5 | name varchar(255) DEFAULT NULL, 6 | PRIMARY KEY (id) 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLProg/src/main/resources/db/migration/V1.2__CreateBookTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE book ( 2 | id bigint(20) NOT NULL AUTO_INCREMENT, 3 | isbn varchar(255) DEFAULT NULL, 4 | title varchar(255) DEFAULT NULL, 5 | author_id bigint(20) DEFAULT NULL, 6 | PRIMARY KEY (id), 7 | KEY FKklnrv3weler2ftkweewlky958 (author_id), 8 | CONSTRAINT FKklnrv3weler2ftkweewlky958 FOREIGN KEY (author_id) REFERENCES author (id) 9 | ); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLQuick/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.show-sql=true 6 | 7 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 8 | 9 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLQuick/src/main/resources/db/migration/V1.1__CreateAuthorTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE author ( 2 | id bigint(20) NOT NULL AUTO_INCREMENT, 3 | age int(11) NOT NULL, 4 | genre varchar(255) DEFAULT NULL, 5 | name varchar(255) DEFAULT NULL, 6 | PRIMARY KEY (id) 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLQuick/src/main/resources/db/migration/V1.2__CreateBookTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE book ( 2 | id bigint(20) NOT NULL AUTO_INCREMENT, 3 | isbn varchar(255) DEFAULT NULL, 4 | title varchar(255) DEFAULT NULL, 5 | author_id bigint(20) DEFAULT NULL, 6 | PRIMARY KEY (id), 7 | KEY FKklnrv3weler2ftkweewlky958 (author_id), 8 | CONSTRAINT FKklnrv3weler2ftkweewlky958 FOREIGN KEY (author_id) REFERENCES author (id) 9 | ); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLTwoDatabases/src/main/java/com/bookstore/ds1/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.ds1; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface BookRepository extends JpaRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLTwoDatabases/src/main/java/com/bookstore/ds2/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.ds2; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface AuthorRepository extends JpaRepository { 8 | } -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLTwoDatabases/src/main/resources/db/migration/authorsdb/V1.1__CreateAuthorTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE author ( 2 | id bigint(20) NOT NULL AUTO_INCREMENT, 3 | age int(11) NOT NULL, 4 | genre varchar(255) DEFAULT NULL, 5 | name varchar(255) DEFAULT NULL, 6 | books varchar(255) DEFAULT NULL, 7 | PRIMARY KEY (id) 8 | ); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLTwoDatabases/src/main/resources/db/migration/authorsdb/afterMigrate.sql: -------------------------------------------------------------------------------- 1 | delete from author; 2 | insert into author (age, name, genre, books, id) values (23, "Mark Janel", "Anthology", "The Beatles Anthology", 5); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLTwoDatabases/src/main/resources/db/migration/booksdb/V1.1__CreateBookTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE book ( 2 | id bigint(20) NOT NULL AUTO_INCREMENT, 3 | isbn varchar(255) DEFAULT NULL, 4 | title varchar(255) DEFAULT NULL, 5 | authors varchar(255) DEFAULT NULL, 6 | PRIMARY KEY (id) 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayMySQLTwoDatabases/src/main/resources/db/migration/booksdb/afterMigrate.sql: -------------------------------------------------------------------------------- 1 | delete from book; 2 | insert into book (isbn, title, authors, id) values ("001-MJ", "The Beatles Anthology", "Mark Janel", 5); 3 | 4 | -------------------------------------------------------------------------------- /HibernateSpringBootFlywayPostgreSQLProg/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.jpa.show-sql=true 2 | 3 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect 4 | spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true 5 | 6 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootFlywayPostgreSQLQuick/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:postgresql://localhost:5432/postgres 2 | spring.datasource.username=postgres 3 | spring.datasource.password=postgres 4 | 5 | spring.jpa.show-sql=true 6 | 7 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect 8 | spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootFlywayPostgreSqlTwoSchemas/src/main/java/com/bookstore/ds1/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.ds1; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface BookRepository extends JpaRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootFlywayPostgreSqlTwoSchemas/src/main/java/com/bookstore/ds2/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.ds2; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface AuthorRepository extends JpaRepository { 8 | } -------------------------------------------------------------------------------- /HibernateSpringBootFlywayPostgreSqlTwoSchemas/src/main/resources/db/migration/authors/V1.1__CreateAuthorTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE author ( 2 | id bigserial NOT NULL, 3 | name character varying(50), 4 | genre character varying(50), 5 | age integer, 6 | books character varying(50), 7 | PRIMARY KEY (id) 8 | ) 9 | WITH ( 10 | OIDS = FALSE 11 | ); 12 | 13 | ALTER TABLE author 14 | OWNER to postgres; -------------------------------------------------------------------------------- /HibernateSpringBootFlywayPostgreSqlTwoSchemas/src/main/resources/db/migration/authors/afterMigrate.sql: -------------------------------------------------------------------------------- 1 | delete from author; 2 | insert into author (age, name, genre, books, id) values (23, 'Mark Janel', 'Anthology', 'The Beatles Anthology', 5); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayPostgreSqlTwoSchemas/src/main/resources/db/migration/books/V1.1__CreateBookTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE book ( 2 | id bigserial NOT NULL, 3 | isbn character varying(50), 4 | title character varying(50), 5 | authors character varying(50), 6 | PRIMARY KEY (id) 7 | ) 8 | WITH ( 9 | OIDS = FALSE 10 | ); 11 | 12 | ALTER TABLE book 13 | OWNER to postgres; -------------------------------------------------------------------------------- /HibernateSpringBootFlywayPostgreSqlTwoSchemas/src/main/resources/db/migration/books/afterMigrate.sql: -------------------------------------------------------------------------------- 1 | delete from book; 2 | insert into book (isbn, title, authors, id) values ('001-MJ', 'The Beatles Anthology', 'Mark Janel', 5); 3 | 4 | -------------------------------------------------------------------------------- /HibernateSpringBootFlywayTwoVendors/src/main/java/com/bookstore/ds1/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.ds1; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface AuthorRepository extends JpaRepository { 8 | } -------------------------------------------------------------------------------- /HibernateSpringBootFlywayTwoVendors/src/main/java/com/bookstore/ds2/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.ds2; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface BookRepository extends JpaRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootFlywayTwoVendors/src/main/resources/db/migration/mysql/V1.1__CreateAuthorTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE author ( 2 | id bigint(20) NOT NULL AUTO_INCREMENT, 3 | age int(11) NOT NULL, 4 | genre varchar(255) DEFAULT NULL, 5 | name varchar(255) DEFAULT NULL, 6 | books varchar(255) DEFAULT NULL, 7 | PRIMARY KEY (id) 8 | ); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayTwoVendors/src/main/resources/db/migration/mysql/afterMigrate.sql: -------------------------------------------------------------------------------- 1 | delete from author; 2 | insert into author (age, name, genre, books, id) values (23, "Mark Janel", "Anthology", "The Beatles Anthology", 5); -------------------------------------------------------------------------------- /HibernateSpringBootFlywayTwoVendors/src/main/resources/db/migration/postgresql/V1.1__CreateBookTable.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE book ( 2 | id bigserial NOT NULL, 3 | isbn character varying(50), 4 | title character varying(50), 5 | authors character varying(50), 6 | PRIMARY KEY (id) 7 | ) 8 | WITH ( 9 | OIDS = FALSE 10 | ); 11 | 12 | ALTER TABLE book 13 | OWNER to postgres; -------------------------------------------------------------------------------- /HibernateSpringBootFlywayTwoVendors/src/main/resources/db/migration/postgresql/afterMigrate.sql: -------------------------------------------------------------------------------- 1 | delete from book; 2 | insert into book (isbn, title, authors, id) values ('001-MJ', 'The Beatles Anthology', 'Mark Janel', 5); 3 | 4 | -------------------------------------------------------------------------------- /HibernateSpringBootHHH000104/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootHTTPLongConversationDetachedEntity/http long conversations detached entity ole.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootHTTPLongConversationDetachedEntity/http long conversations detached entity ole.png -------------------------------------------------------------------------------- /HibernateSpringBootHTTPLongConversationDetachedEntity/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootHTTPLongConversationDetachedEntity/src/main/java/com/bookstore/repository/InventoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Inventory; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface InventoryRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootHTTPLongConversationDetachedEntity/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO inventory (id, title, quantity, version) VALUES ("1", "A People's History", 10, 0); -------------------------------------------------------------------------------- /HibernateSpringBootHiLo/Hibernate hilo algorithm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootHiLo/Hibernate hilo algorithm.png -------------------------------------------------------------------------------- /HibernateSpringBootHiLo/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootHikariCPPropertiesKickoff/HikariCP trace log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootHikariCPPropertiesKickoff/HikariCP trace log.png -------------------------------------------------------------------------------- /HibernateSpringBootHikariCPPropertiesKickoff/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | -- Drop 2 | DROP TABLE IF EXISTS `numberdb`.`ints`; 3 | 4 | -- Create the table 5 | CREATE TABLE `numberdb`.`ints` ( 6 | `nr` INT DEFAULT NULL 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootHintPassDistinctThrough/HINT_PASS_DISTINCT_THROUGH.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootHintPassDistinctThrough/HINT_PASS_DISTINCT_THROUGH.png -------------------------------------------------------------------------------- /HibernateSpringBootHintPassDistinctThrough/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into author (age, name, genre, id) values (34, "Joana Nimar", "History", 1); 2 | insert into book (isbn, title, author_id, id) values ("001-JN", "A History of Ancient Prague", 1, 1); 3 | insert into book (isbn, title, author_id, id) values ("002-JN", "A People's History", 1, 2); -------------------------------------------------------------------------------- /HibernateSpringBootImmutableEntity/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinDtoAllFields/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public Long getId(); 6 | public int getAge(); 7 | public String getName(); 8 | public String getGenre(); 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinFetch/hibernate spring boot join fetch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootJoinFetch/hibernate spring boot join fetch.png -------------------------------------------------------------------------------- /HibernateSpringBootJoinFormula/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinPagination/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinTableRepositoryInheritance/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinTableRepositoryInheritance/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface BookRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinTableRepositoryInheritance/src/main/java/com/bookstore/repository/EbookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Ebook; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface EbookRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinTableRepositoryInheritance/src/main/java/com/bookstore/repository/PaperbackRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Paperback; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface PaperbackRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinTableRepositoryInheritance/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootJoinedAndStrategy/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinedAndStrategy/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinedAndStrategy/src/main/java/com/bookstore/service/Deliverable.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.service; 2 | 3 | public interface Deliverable { 4 | 5 | void process(); 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinedAndStrategy/src/main/java/com/bookstore/strategy/Delivery.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.strategy; 2 | 3 | import com.bookstore.entity.Book; 4 | 5 | public interface Delivery { 6 | 7 | Class ofBook(); 8 | 9 | void deliver(T book); 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinedAndStrategy/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootJoinedAndVisitor/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinedAndVisitor/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinedAndVisitor/src/main/java/com/bookstore/service/Visitable.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.service; 2 | 3 | import com.bookstore.visitor.Visitor; 4 | 5 | public interface Visitable { 6 | 7 | void accept(Class clazzVisitor); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinedAndVisitor/src/main/java/com/bookstore/visitor/Visitor.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.visitor; 2 | 3 | import com.bookstore.entity.Ebook; 4 | import com.bookstore.entity.Paperback; 5 | 6 | public interface Visitor { 7 | 8 | void visit(Ebook ebook); 9 | 10 | void visit(Paperback paperback); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootJoinedAndVisitor/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootJpaCallbacks/JPA callbacks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootJpaCallbacks/JPA callbacks.png -------------------------------------------------------------------------------- /HibernateSpringBootJpaCallbacks/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootJpqlFunction/SQL functions in JPQL parameters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootJpqlFunction/SQL functions in JPQL parameters.png -------------------------------------------------------------------------------- /HibernateSpringBootJpqlFunction/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into book (isbn, title, price, id) values ("001-JN", "A People's History", 32, 1); -------------------------------------------------------------------------------- /HibernateSpringBootJpqlFunctionsParams/SQL functions in JPQL parameters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootJpqlFunctionsParams/SQL functions in JPQL parameters.png -------------------------------------------------------------------------------- /HibernateSpringBootJpqlFunctionsParams/src/main/java/com/bookstore/dao/GenericDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import java.io.Serializable; 4 | import java.time.Instant; 5 | 6 | public interface GenericDao { 7 | 8 | String fetchTitleAndPrice(String symbol, Instant instant); 9 | 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootJpqlFunctionsParams/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into book (isbn, title, price, id) values ("001-JN", "A People's History", 32, 1); -------------------------------------------------------------------------------- /HibernateSpringBootJsonToMySQL/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootJustManyToOne/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootKeysetPagination/offset pagination.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootKeysetPagination/offset pagination.png -------------------------------------------------------------------------------- /HibernateSpringBootKeysetPagination/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootKeysetPagination/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public int getAge(); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootKeysetPaginationNextPage/keyset pagination with next page button.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootKeysetPaginationNextPage/keyset pagination with next page button.png -------------------------------------------------------------------------------- /HibernateSpringBootKeysetPaginationNextPage/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootKeysetPaginationNextPage/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public int getAge(); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootLimitResultSizeViaQueryCreator/query creation for limiting result size.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootLimitResultSizeViaQueryCreator/query creation for limiting result size.png -------------------------------------------------------------------------------- /HibernateSpringBootLimitResultSizeViaQueryCreator/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public String getAge(); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootLimitResultSizeViaQueryCreator/supported keywords inside method names.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootLimitResultSizeViaQueryCreator/supported keywords inside method names.png -------------------------------------------------------------------------------- /HibernateSpringBootListDtoOffsetPagination/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootListDtoOffsetPagination/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public int getAge(); 8 | 9 | public long getTotal(); 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootListDtoOffsetPaginationWF/offset pagination via window function.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootListDtoOffsetPaginationWF/offset pagination via window function.png -------------------------------------------------------------------------------- /HibernateSpringBootListDtoOffsetPaginationWF/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootListDtoOffsetPaginationWF/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public int getAge(); 8 | 9 | public long getTotal(); 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootListEntityOffsetPaginationProjection/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootListEntityOffsetPaginationProjection/src/main/java/com/bookstore/projection/AuthorInfo.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | import com.bookstore.entity.Author; 4 | 5 | public interface AuthorInfo { 6 | 7 | public Author getAuthor(); 8 | public long getTotal(); 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootLoadBatchAssociation/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootLoadBatchAssociation/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootLog4JdbcViewBindingParameters/query details via log4jdbc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootLog4JdbcViewBindingParameters/query details via log4jdbc.png -------------------------------------------------------------------------------- /HibernateSpringBootLog4JdbcViewBindingParameters/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=false 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootLog4j2ViewBindingParameters/log4j2 display binding and extracted parameters.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootLog4j2ViewBindingParameters/log4j2 display binding and extracted parameters.png -------------------------------------------------------------------------------- /HibernateSpringBootLog4j2ViewBindingParameters/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootLogBindingParametersMySQL/display binding via profileSQL=true.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootLogBindingParametersMySQL/display binding via profileSQL=true.png -------------------------------------------------------------------------------- /HibernateSpringBootLogBindingParametersMySQL/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true&logger=Slf4JLogger&profileSQL=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | 7 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 8 | 9 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootLogSlowQueries/log slow queries via datasource-proxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootLogSlowQueries/log slow queries via datasource-proxy.png -------------------------------------------------------------------------------- /HibernateSpringBootLogSlowQueries/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=false 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootLogSlowQueries545/log slow queries Hibernate 5.4.5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootLogSlowQueries545/log slow queries Hibernate 5.4.5.png -------------------------------------------------------------------------------- /HibernateSpringBootLogTraceViewBindingParameters/display binding and extracted parameters via TRACE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootLogTraceViewBindingParameters/display binding and extracted parameters via TRACE.png -------------------------------------------------------------------------------- /HibernateSpringBootLombokEqualsAndHashCode/auto-generated primary key and equals - hashCode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootLombokEqualsAndHashCode/auto-generated primary key and equals - hashCode.png -------------------------------------------------------------------------------- /HibernateSpringBootLombokEqualsAndHashCode/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true&useSSL=false 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootManyToManyBidirectional/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootManyToManyBidirectional/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootManyToManyBidirectionalListVsSet/manytomany use always set not list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootManyToManyBidirectionalListVsSet/manytomany use always set not list.png -------------------------------------------------------------------------------- /HibernateSpringBootManyToManyBidirectionalListVsSet/src/main/java/com/bookstore/repository/AuthorListRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.AuthorList; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorListRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootManyToManyBidirectionalListVsSet/src/main/java/com/bookstore/repository/AuthorSetRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.AuthorSet; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorSetRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootManyToManyBidirectionalListVsSet/src/main/java/com/bookstore/repository/BookListRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.BookList; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookListRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootManyToManyBidirectionalListVsSet/src/main/java/com/bookstore/repository/BookSetRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.BookSet; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookSetRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootManyToManyBidirectionalListVsSet/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootManyToManySetAndOrderBy/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootMapBooleanToYesNo/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | 10 | public Author findByName(String name); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootMapBooleanToYesNo/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | DROP TABLE author; 2 | 3 | CREATE TABLE author ( 4 | id bigint(20) NOT NULL AUTO_INCREMENT, 5 | age int(11) NOT NULL, 6 | best_selling varchar(3) NOT NULL, 7 | genre varchar(255) DEFAULT NULL, 8 | name varchar(255) DEFAULT NULL, 9 | PRIMARY KEY (id) 10 | ); 11 | -------------------------------------------------------------------------------- /HibernateSpringBootMappedSuperclassRepository/src/main/java/com/bookstore/repository/EbookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Ebook; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface EbookRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootMappedSuperclassRepository/src/main/java/com/bookstore/repository/PaperbackRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Paperback; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface PaperbackRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootMappedSuperclassRepository/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootMappingLobToByteString/avatars/mt_avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootMappingLobToByteString/avatars/mt_avatar.png -------------------------------------------------------------------------------- /HibernateSpringBootMappingLobToByteString/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | 10 | public Author findByName(String name); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootMappingLobToByteString/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootMappingLobToClobAndBlob/avatars/mt_avatar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootMappingLobToClobAndBlob/avatars/mt_avatar.png -------------------------------------------------------------------------------- /HibernateSpringBootMappingLobToClobAndBlob/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | 10 | public Author findByName(String name); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootMappingLobToClobAndBlob/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootMatchEntitiesToTablesTwoSchemas/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootMatchEntitiesToTablesTwoSchemas/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootMySqlSkipLocked/src/main/java/com/bookstore/entity/BookStatus.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.entity; 2 | 3 | public enum BookStatus { 4 | PENDING, 5 | APPROVED, 6 | REJECTED 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootNTilleFunction/grouping rows via NTILE.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootNTilleFunction/grouping rows via NTILE.png -------------------------------------------------------------------------------- /HibernateSpringBootNTilleFunction/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public String getGenre(); 8 | 9 | public int getAge(); 10 | 11 | public int getTile(); 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootNamedQueriesViaAnnotations/src/main/java/com/bookstore/dto/AuthorNameAge.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorNameAge { 4 | 5 | public String getName(); 6 | public int getAge(); 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootNaturalId/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootNaturalId/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootNaturalIdCache/Hibernate NaturalIdCache first query.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootNaturalIdCache/Hibernate NaturalIdCache first query.png -------------------------------------------------------------------------------- /HibernateSpringBootNaturalIdCache/Hibernate NaturalIdCache second query.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootNaturalIdCache/Hibernate NaturalIdCache second query.png -------------------------------------------------------------------------------- /HibernateSpringBootNaturalIdCache/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import com.bookstore.naturalid.NaturalRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends NaturalRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootNaturalIdImpl/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import com.bookstore.naturalid.NaturalRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends NaturalRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootNaturalIdImpl/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootNestedVsVirtualProjection/src/main/java/com/bookstore/dto/BookDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface BookDto { 4 | 5 | public String getTitle(); 6 | public AuthorDto getAuthor(); 7 | 8 | interface AuthorDto { 9 | 10 | public String getName(); 11 | public String getGenre(); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /HibernateSpringBootNestedVsVirtualProjection/src/main/java/com/bookstore/dto/SimpleBookDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface SimpleBookDto { 4 | 5 | public String getTitle(); // of book 6 | public String getName(); // of author 7 | public String getGenre(); // of author 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootNestedVsVirtualProjection/src/main/java/com/bookstore/dto/VirtualBookDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | import org.springframework.beans.factory.annotation.Value; 4 | 5 | public interface VirtualBookDto { 6 | 7 | public String getTitle(); // of book 8 | 9 | @Value("#{@authorMapper.buildAuthorDto(target.name, target.genre)}") 10 | AuthorClassDto getAuthor(); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootOffsetPagination/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootOneToManyBidirectional/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootOneToManyUnidirectional/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootOneToOneMapsId/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootOneToOneMapsId/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootOneToOneMapsId/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into author (age, name, genre, id) values (34, "Joana Nimar", "History", 1); -------------------------------------------------------------------------------- /HibernateSpringBootOptimisticForceIncrement/src/main/java/com/bookstore/repository/ModificationRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Modification; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface ModificationRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootOptimisticForceIncrement/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into chapter (title, content, version, id) values ("Locking", "Chapter content ...", 0, 1); 2 | -------------------------------------------------------------------------------- /HibernateSpringBootOrderByRandom/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into book (isbn, title, id) values ("001-JN", "A History of Ancient Prague", 1); 2 | insert into book (isbn, title, id) values ("002-JN", "A People's History", 2); 3 | insert into book (isbn, title, id) values ("001-MJ", "The Beatles Anthology", 3); 4 | insert into book (isbn, title, id) values ("001-OG", "Carrie", 4); 5 | insert into book (isbn, title, id) values ("003-JN", "World History", 5); 6 | -------------------------------------------------------------------------------- /HibernateSpringBootP6spy/p6spy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootP6spy/p6spy.png -------------------------------------------------------------------------------- /HibernateSpringBootP6spy/spy.properties: -------------------------------------------------------------------------------- 1 | logMessageFormat=com.p6spy.engine.spy.appender.MultiLineFormat 2 | appender=com.p6spy.engine.spy.appender.Slf4JLogger 3 | appender=com.p6spy.engine.spy.appender.StdoutLogger 4 | #appender=com.p6spy.engine.spy.appender.FileLogger 5 | #logfile = spy.log -------------------------------------------------------------------------------- /HibernateSpringBootPageDtoOffsetPagination/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootPageDtoOffsetPagination/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonIgnore; 4 | 5 | public interface AuthorDto { 6 | 7 | public String getName(); 8 | 9 | public int getAge(); 10 | 11 | @JsonIgnore 12 | public long getTotal(); 13 | } 14 | -------------------------------------------------------------------------------- /HibernateSpringBootPageDtoOffsetPaginationWF/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootPageDtoOffsetPaginationWF/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonIgnore; 4 | 5 | public interface AuthorDto { 6 | 7 | public String getName(); 8 | 9 | public int getAge(); 10 | 11 | @JsonIgnore 12 | public long getTotal(); 13 | } 14 | -------------------------------------------------------------------------------- /HibernateSpringBootPageEntityOffsetPaginationProjection/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootPageEntityOffsetPaginationProjection/src/main/java/com/bookstore/projection/AuthorInfo.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.projection; 2 | 3 | import com.bookstore.entity.Author; 4 | import com.fasterxml.jackson.annotation.JsonIgnore; 5 | 6 | public interface AuthorInfo { 7 | 8 | public Author getAuthor(); 9 | @JsonIgnore 10 | public long getTotal(); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootPaginationRowNumber/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootPaginationRowNumber/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public int getAge(); 8 | 9 | public long getTotal(); 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootParentChildSeparateQueries/Fetch Parent And Children In Different Queries.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootParentChildSeparateQueries/Fetch Parent And Children In Different Queries.png -------------------------------------------------------------------------------- /HibernateSpringBootPesimisticForceIncrement/src/main/java/com/bookstore/repository/ModificationRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Modification; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface ModificationRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootPesimisticForceIncrement/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into chapter (title, content, version, id) values ("Locking", "Chapter content ...", 0, 1); 2 | -------------------------------------------------------------------------------- /HibernateSpringBootPopulatingChildViaProxy/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into author (age, name, genre, id) values (23, "Mark Janel", "Anthology", 1); -------------------------------------------------------------------------------- /HibernateSpringBootPostCommit/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootPostCommit/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO `author` (`id`, `age`, `name`, `genre`) VALUES (1,34,'Joana Nimar', 'History'); 2 | -------------------------------------------------------------------------------- /HibernateSpringBootPostgresSqlSkipLocked/src/main/java/com/bookstore/entity/BookStatus.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.entity; 2 | 3 | public enum BookStatus { 4 | PENDING, 5 | APPROVED, 6 | REJECTED 7 | } 8 | -------------------------------------------------------------------------------- /HibernateSpringBootProjectionAndCollections/src/main/java/com/bookstore/spring/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.spring.dto; 2 | 3 | import java.util.List; 4 | 5 | public interface AuthorDto { 6 | 7 | public String getName(); 8 | public String getGenre(); 9 | public List getBooks(); 10 | 11 | interface BookDto { 12 | public String getTitle(); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /HibernateSpringBootProjectionAndCollections/src/main/java/com/bookstore/spring/dto/SimpleAuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.spring.dto; 2 | 3 | public interface SimpleAuthorDto { 4 | 5 | public String getName(); // of author 6 | public String getGenre(); // of author 7 | public String getTitle(); // of book 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootPropertyExpressions/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootPropertyExpressions/src/main/java/com/bookstore/dto/BookDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface BookDto { 4 | 5 | public String getTitle(); 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootPropertyExpressions/src/main/java/com/bookstore/repository/ReviewRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Review; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface ReviewRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootQueryFetching/src/main/java/com/bookstore/dao/GenericDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import java.io.Serializable; 4 | 5 | public interface GenericDao { 6 | 7 | T findByName(String name); 8 | 9 | T findByNameViaSession(String name); 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootRankFunction/assign ranking to rows.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootRankFunction/assign ranking to rows.png -------------------------------------------------------------------------------- /HibernateSpringBootRankFunction/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public String getGenre(); 8 | 9 | public int getRankNum(); 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootReadOnlyQueries/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | 10 | Author findByName(String name); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootRecordAndEmbeddables/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | import com.bookstore.embeddable.Contact; 4 | 5 | public record AuthorDto(String name, int age, Contact contact) {} 6 | -------------------------------------------------------------------------------- /HibernateSpringBootRecordAndEmbeddables/src/main/java/com/bookstore/embeddable/Contact.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.embeddable; 2 | 3 | import jakarta.persistence.Embeddable; 4 | 5 | @Embeddable 6 | public record Contact(String email, String twitter, String phone) {} 7 | -------------------------------------------------------------------------------- /HibernateSpringBootRedundantSave/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootReferenceNaturalId/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootReferenceNaturalId/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | 10 | public Book findByTitle(String title); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootReferenceNaturalId/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootRepoIntercept/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootRetryVersionedOptimisticLocking/Retry Optimistic Lock.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootRetryVersionedOptimisticLocking/Retry Optimistic Lock.png -------------------------------------------------------------------------------- /HibernateSpringBootRetryVersionedOptimisticLocking/src/main/java/com/bookstore/repository/InventoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Inventory; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface InventoryRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootRetryVersionedOptimisticLocking/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO inventory (id, title, quantity, version) VALUES ("1", "A People's History", 10, 0); -------------------------------------------------------------------------------- /HibernateSpringBootRetryVersionedOptimisticLockingTT/src/main/java/com/bookstore/repository/InventoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Inventory; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface InventoryRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootRetryVersionedOptimisticLockingTT/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO inventory (id, title, quantity, version) VALUES ("1", "A People's History", 10, 0); -------------------------------------------------------------------------------- /HibernateSpringBootRetryVersionlessOptimisticLocking/src/main/java/com/bookstore/repository/InventoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Inventory; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface InventoryRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootRetryVersionlessOptimisticLocking/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO inventory (id, title, quantity) VALUES ("1", "A People's History", 10); -------------------------------------------------------------------------------- /HibernateSpringBootRetryVersionlessOptimisticLockingTT/src/main/java/com/bookstore/repository/InventoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Inventory; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface InventoryRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootRetryVersionlessOptimisticLockingTT/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO inventory (id, title, quantity) VALUES ("1", "A People's History", 10); -------------------------------------------------------------------------------- /HibernateSpringBootReturnGeneratedKeys/src/main/java/com/bookstore/dao/AuthorDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | public interface AuthorDao { 4 | 5 | public long insertAuthor(int age, String name, String genre); 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootReturnGeneratedKeys/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootReturnGeneratedKeys/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootReuseProjection/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | import com.fasterxml.jackson.annotation.JsonInclude; 4 | 5 | @JsonInclude(JsonInclude.Include.NON_DEFAULT) 6 | public interface AuthorDto { 7 | 8 | public Integer getAge(); 9 | public String getName(); 10 | public String getGenre(); 11 | public String getEmail(); 12 | public String getAddress(); 13 | } 14 | -------------------------------------------------------------------------------- /HibernateSpringBootSaveAndMerge/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSchemaSql/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSchemaSql/src/main/resources/schema-mysql.sql: -------------------------------------------------------------------------------- 1 | CREATE TABLE IF NOT EXISTS author ( 2 | id bigint(20) NOT NULL AUTO_INCREMENT, 3 | age int(11) NOT NULL, 4 | genre varchar(255) DEFAULT NULL, 5 | name varchar(255) DEFAULT NULL, 6 | PRIMARY KEY (id) 7 | ); -------------------------------------------------------------------------------- /HibernateSpringBootSessionRepeatableReads/src/main/java/com/bookstore/dao/GenericDao.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dao; 2 | 3 | import java.io.Serializable; 4 | import java.util.Optional; 5 | 6 | public interface GenericDao { 7 | 8 | Optional find(Class clazz, ID id); 9 | 10 | Optional findViaSession(Class clazz, ID id); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootSessionRepeatableReads/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into author (age, name, genre, id) values (23, "Mark Janel", "Anthology", 1); -------------------------------------------------------------------------------- /HibernateSpringBootSimulateNPlus1/simulate N+1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootSimulateNPlus1/simulate N+1.png -------------------------------------------------------------------------------- /HibernateSpringBootSimulateNPlus1/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSimulateNPlus1/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSimulateVersionedOptimisticLocking/src/main/java/com/bookstore/repository/InventoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Inventory; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface InventoryRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSimulateVersionedOptimisticLocking/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO inventory (id, title, quantity, version) VALUES ("1", "A People's History", 10, 0); -------------------------------------------------------------------------------- /HibernateSpringBootSimulateVersionlessOptimisticLocking/src/main/java/com/bookstore/repository/InventoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Inventory; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface InventoryRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSimulateVersionlessOptimisticLocking/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO inventory (id, title, quantity) VALUES ("1", "A People's History", 10); -------------------------------------------------------------------------------- /HibernateSpringBootSingleTableInheritance/Single table inheritance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootSingleTableInheritance/Single table inheritance.png -------------------------------------------------------------------------------- /HibernateSpringBootSingleTableRepositoryInheritance/Single table inheritance.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootSingleTableRepositoryInheritance/Single table inheritance.png -------------------------------------------------------------------------------- /HibernateSpringBootSingleTableRepositoryInheritance/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSingleTableRepositoryInheritance/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface BookRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootSingleTableRepositoryInheritance/src/main/java/com/bookstore/repository/EbookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Ebook; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface EbookRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootSingleTableRepositoryInheritance/src/main/java/com/bookstore/repository/PaperbackRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Paperback; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface PaperbackRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootSingleTableRepositoryInheritance/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootSliceAllCriteriaBuilder/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootSliceAllCriteriaBuilderAndSort/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootSliceAllSimpleSql/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootSliceAllViaFetchAll/src/main/java/com/bookstore/MainApplication.java: -------------------------------------------------------------------------------- 1 | package com.bookstore; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class MainApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(MainApplication.class, args); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootSliceAllViaFetchAll/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public int getAge(); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootSoftDeletes/soft deletes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootSoftDeletes/soft deletes.png -------------------------------------------------------------------------------- /HibernateSpringBootSoftDeletes/src/main/java/com/bookstore/entity/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.entity; 2 | 3 | import javax.persistence.Column; 4 | import javax.persistence.MappedSuperclass; 5 | 6 | @MappedSuperclass 7 | public abstract class BaseEntity { 8 | 9 | @Column(name = "deleted") 10 | protected boolean deleted; 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootSoftDeletesSpringStyle/soft deletes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootSoftDeletesSpringStyle/soft deletes.png -------------------------------------------------------------------------------- /HibernateSpringBootSoftDeletesSpringStyle/src/main/java/com/bookstore/entity/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.entity; 2 | 3 | import javax.persistence.Column; 4 | import javax.persistence.MappedSuperclass; 5 | 6 | @MappedSuperclass 7 | public abstract class BaseEntity { 8 | 9 | @Column(name = "deleted") 10 | protected boolean deleted; 11 | 12 | public abstract Long getId(); 13 | } 14 | -------------------------------------------------------------------------------- /HibernateSpringBootSpecificSubclassFromInheritance/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSpecificSubclassFromInheritance/src/main/java/com/bookstore/repository/PaperbackRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Paperback; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface PaperbackRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSpecificationQueryFetchJoins/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | import java.util.List; 4 | 5 | public interface AuthorDto { 6 | 7 | public Long getId(); 8 | public String getName(); 9 | public String getGenre(); 10 | public int getAge(); 11 | public List getBooks(); 12 | } 13 | -------------------------------------------------------------------------------- /HibernateSpringBootSpecificationQueryFetchJoins/src/main/java/com/bookstore/dto/BookDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface BookDto { 4 | 5 | public Long getId(); 6 | public String getTitle(); 7 | public String getIsbn(); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootStreamable/src/main/java/com/bookstore/dto/AuthorName.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorName { 4 | 5 | public String getName(); 6 | } 7 | -------------------------------------------------------------------------------- /HibernateSpringBootSubentities/attributes lazy loading via subentites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootSubentities/attributes lazy loading via subentites.png -------------------------------------------------------------------------------- /HibernateSpringBootSubentities/avatars/cd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootSubentities/avatars/cd.png -------------------------------------------------------------------------------- /HibernateSpringBootSubentities/avatars/mt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootSubentities/avatars/mt.png -------------------------------------------------------------------------------- /HibernateSpringBootSubentities/avatars/re.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootSubentities/avatars/re.png -------------------------------------------------------------------------------- /HibernateSpringBootSubentities/src/main/java/com/bookstore/entity/AuthorShallow.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.entity; 2 | 3 | import javax.persistence.Entity; 4 | import javax.persistence.Table; 5 | 6 | @Entity 7 | @Table(name = "author") 8 | public class AuthorShallow extends BaseAuthor { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSubentities/src/main/java/com/bookstore/repository/AuthorDeepRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.AuthorDeep; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorDeepRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootSubentities/src/main/java/com/bookstore/repository/AuthorShallowRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.AuthorShallow; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorShallowRepository extends JpaRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /HibernateSpringBootSubentities/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5Dialect 9 | 10 | spring.jpa.open-in-view=false 11 | 12 | -------------------------------------------------------------------------------- /HibernateSpringBootSubselect/src/main/java/com/bookstore/repository/AuthorSummaryRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.summary.AuthorSummary; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorSummaryRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTablePerClassRepositoryInheritance/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTablePerClassRepositoryInheritance/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface BookRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootTablePerClassRepositoryInheritance/src/main/java/com/bookstore/repository/EbookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Ebook; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface EbookRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootTablePerClassRepositoryInheritance/src/main/java/com/bookstore/repository/PaperbackRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Paperback; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface PaperbackRepository extends BookBaseRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootTablePerClassRepositoryInheritance/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootTablesMetadata/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTablesMetadata/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.show-sql=true 6 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /HibernateSpringBootTimestampGeneration/src/main/java/com/bookstore/by/CreatedBy.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.by; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | import org.hibernate.annotations.ValueGenerationType; 6 | 7 | @ValueGenerationType(generatedBy = CreatedByValueGeneration.class) 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface CreatedBy { 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootTimestampGeneration/src/main/java/com/bookstore/by/ModifiedBy.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.by; 2 | 3 | import java.lang.annotation.Retention; 4 | import java.lang.annotation.RetentionPolicy; 5 | import org.hibernate.annotations.ValueGenerationType; 6 | 7 | @ValueGenerationType(generatedBy = ModifiedByValueGeneration.class) 8 | @Retention(RetentionPolicy.RUNTIME) 9 | public @interface ModifiedBy { 10 | } 11 | -------------------------------------------------------------------------------- /HibernateSpringBootTimestampGeneration/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | 10 | public Author findByName(String name); 11 | } 12 | -------------------------------------------------------------------------------- /HibernateSpringBootTopNRowsPerGroup/Finding top N rows of every group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootTopNRowsPerGroup/Finding top N rows of every group.png -------------------------------------------------------------------------------- /HibernateSpringBootTransactionCallback/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTransactionPropagation/HibernateSpringBootTransactionMandatoryAndRollback/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTransactionPropagation/HibernateSpringBootTransactionNestedAndException/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTransactionPropagation/HibernateSpringBootTransactionNever/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTransactionPropagation/HibernateSpringBootTransactionNotSupportedAndRollback/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTransactionPropagation/HibernateSpringBootTransactionRequiredAndRollback/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTransactionPropagation/HibernateSpringBootTransactionRequiresNewAndRollback/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTransactionPropagation/HibernateSpringBootTransactionSupportsAndRollback/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootTransactionalInRepository/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootTransactionalInRepository/src/main/resources/data-mysql.sql -------------------------------------------------------------------------------- /HibernateSpringBootTransactionalReadOnlyMeaning/src/main/java/com/bookstore/dto/AuthorDto.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.dto; 2 | 3 | public interface AuthorDto { 4 | 5 | public String getName(); 6 | 7 | public int getAge(); 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootTwoDataSourceBuilderKickoff/Two DataSources.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootTwoDataSourceBuilderKickoff/Two DataSources.png -------------------------------------------------------------------------------- /HibernateSpringBootTwoDataSourceBuilderKickoff/src/main/java/com/bookstore/ds1/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.ds1; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface AuthorRepository extends JpaRepository { 8 | } -------------------------------------------------------------------------------- /HibernateSpringBootTwoDataSourceBuilderKickoff/src/main/java/com/bookstore/ds2/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.ds2; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | @Repository 7 | public interface BookRepository extends JpaRepository { 8 | } 9 | -------------------------------------------------------------------------------- /HibernateSpringBootUUID2/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootUnproxyAProxy/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into author (age, name, genre, id) values (23, "Mark Janel", "Anthology", 1); -------------------------------------------------------------------------------- /HibernateSpringBootVersionedOptimisticLockingAndDettachedEntity/src/main/java/com/bookstore/repository/InventoryRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Inventory; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface InventoryRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootVersionedOptimisticLockingAndDettachedEntity/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | INSERT INTO inventory (id, title, quantity, version) VALUES ("1", "A People's History", 10, 0); -------------------------------------------------------------------------------- /HibernateSpringBootWhyTransactionalIsIgnored/src/main/java/com/bookstore/repository/AuthorRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Author; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface AuthorRepository extends JpaRepository { 9 | } 10 | -------------------------------------------------------------------------------- /HibernateSpringBootWrapperTypeStreamable/src/main/resources/data-mysql.sql: -------------------------------------------------------------------------------- 1 | insert into book (price, title, id) values (23, "Anthology of a day", 1); 2 | insert into book (price, title, id) values (35, "Carrie", 2); 3 | insert into book (price, title, id) values (28, "Facts and words", 3); 4 | insert into book (price, title, id) values (20, "Late today", 4); 5 | insert into book (price, title, id) values (43, "Mystery", 5); 6 | -------------------------------------------------------------------------------- /HibernateSpringBootYearMonth/Hibernate Types library.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/HibernateSpringBootYearMonth/Hibernate Types library.png -------------------------------------------------------------------------------- /HibernateSpringBootYearMonth/src/main/java/com/bookstore/repository/BookRepository.java: -------------------------------------------------------------------------------- 1 | package com.bookstore.repository; 2 | 3 | import com.bookstore.entity.Book; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface BookRepository extends JpaRepository { 9 | 10 | public Book findByTitle(String title); 11 | } 12 | 13 | -------------------------------------------------------------------------------- /HibernateSpringBootYearMonth/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.datasource.url=jdbc:mysql://localhost:3306/bookstoredb?createDatabaseIfNotExist=true 2 | spring.datasource.username=root 3 | spring.datasource.password=root 4 | 5 | spring.jpa.hibernate.ddl-auto=create 6 | spring.jpa.show-sql=true 7 | 8 | spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect 9 | 10 | spring.jpa.open-in-view=false -------------------------------------------------------------------------------- /Java EE/AMPCJoinBMT/README.md: -------------------------------------------------------------------------------- 1 | # Application-Managed EntityManager Join BMT 2 | -------------------------------------------------------------------------------- /Java EE/AMPCJoinBMT/src/main/java/com/sample/JAXRSConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.sample; 2 | 3 | import javax.ws.rs.ApplicationPath; 4 | import javax.ws.rs.core.Application; 5 | 6 | @ApplicationPath("resources") 7 | public class JAXRSConfiguration extends Application { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Java EE/AMPCJoinBMT/src/main/webapp/WEB-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /Java EE/AMPCJoinBMT/src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Redirecting ...
10 | 11 | -------------------------------------------------------------------------------- /Java EE/AMPCandBMT/README.md: -------------------------------------------------------------------------------- 1 | # Application-Managed EntityManager and BMT 2 | -------------------------------------------------------------------------------- /Java EE/AMPCandBMT/src/main/java/com/sample/JAXRSConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.sample; 2 | 3 | import javax.ws.rs.ApplicationPath; 4 | import javax.ws.rs.core.Application; 5 | 6 | @ApplicationPath("resources") 7 | public class JAXRSConfiguration extends Application { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Java EE/AMPCandBMT/src/main/webapp/WEB-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /Java EE/AMPCandBMT/src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Redirecting ...
10 | 11 | -------------------------------------------------------------------------------- /Java EE/AMPCandCMT/README.md: -------------------------------------------------------------------------------- 1 | # Application-Managed EntityManager and CMT 2 | -------------------------------------------------------------------------------- /Java EE/AMPCandCMT/src/main/java/com/sample/JAXRSConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.sample; 2 | 3 | import javax.ws.rs.ApplicationPath; 4 | import javax.ws.rs.core.Application; 5 | 6 | @ApplicationPath("resources") 7 | public class JAXRSConfiguration extends Application { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Java EE/AMPCandCMT/src/main/webapp/WEB-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /Java EE/AMPCandCMT/src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Redirecting ...
10 | 11 | -------------------------------------------------------------------------------- /Java EE/AMPCandRLTM1/README.md: -------------------------------------------------------------------------------- 1 | # Classic RESOURCE_LOCAL example 2 | -------------------------------------------------------------------------------- /Java EE/AMPCandRLTM1/src/main/java/com/sample/JAXRSConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.sample; 2 | 3 | import javax.ws.rs.ApplicationPath; 4 | import javax.ws.rs.core.Application; 5 | 6 | @ApplicationPath("resources") 7 | public class JAXRSConfiguration extends Application { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Java EE/AMPCandRLTM1/src/main/webapp/WEB-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /Java EE/AMPCandRLTM1/src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Redirecting ...
10 | 11 | -------------------------------------------------------------------------------- /Java EE/AMPCandRLTM2/README.md: -------------------------------------------------------------------------------- 1 | # Classic JTA example 2 | -------------------------------------------------------------------------------- /Java EE/AMPCandRLTM2/src/main/java/com/sample/JAXRSConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.sample; 2 | 3 | import javax.ws.rs.ApplicationPath; 4 | import javax.ws.rs.core.Application; 5 | 6 | @ApplicationPath("resources") 7 | public class JAXRSConfiguration extends Application { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Java EE/AMPCandRLTM2/src/main/webapp/WEB-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /Java EE/AMPCandRLTM2/src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Redirecting ...
10 | 11 | -------------------------------------------------------------------------------- /Java EE/CMPCandBMT/README.md: -------------------------------------------------------------------------------- 1 | # Container-Managed EntityManager and BMT 2 | -------------------------------------------------------------------------------- /Java EE/CMPCandBMT/src/main/java/com/sample/JAXRSConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.sample; 2 | 3 | import javax.ws.rs.ApplicationPath; 4 | import javax.ws.rs.core.Application; 5 | 6 | @ApplicationPath("resources") 7 | public class JAXRSConfiguration extends Application { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Java EE/CMPCandBMT/src/main/webapp/WEB-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /Java EE/CMPCandBMT/src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Redirecting ...
10 | 11 | 12 | -------------------------------------------------------------------------------- /Java EE/CMPCandCMT/README.md: -------------------------------------------------------------------------------- 1 | # Build 2 | mvn clean package && docker build -t com.sample/quickstart . 3 | 4 | # RUN 5 | 6 | docker rm -f quickstart || true && docker run -d -p 8080:8080 -p 4848:4848 --name quickstart com.sample/quickstart -------------------------------------------------------------------------------- /Java EE/CMPCandCMT/src/main/java/com/sample/JAXRSConfiguration.java: -------------------------------------------------------------------------------- 1 | package com.sample; 2 | 3 | import javax.ws.rs.ApplicationPath; 4 | import javax.ws.rs.core.Application; 5 | 6 | @ApplicationPath("resources") 7 | public class JAXRSConfiguration extends Application { 8 | 9 | } 10 | -------------------------------------------------------------------------------- /Java EE/CMPCandCMT/src/main/webapp/WEB-INF/beans.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | -------------------------------------------------------------------------------- /Java EE/CMPCandCMT/src/main/webapp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
Redirecting ...
10 | 11 | -------------------------------------------------------------------------------- /Java EE/README.md: -------------------------------------------------------------------------------- 1 | These applications are support for the article published here: 2 | [Tackling RESOURCE_LOCAL Vs. JTA Under Java EE Umbrella and Payara Server](https://dzone.com/articles/resource-local-vs-jta-transaction-types-and-payara) 3 | -------------------------------------------------------------------------------- /Java Persistence Performance Illustrated Guide.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/Java Persistence Performance Illustrated Guide.jpg -------------------------------------------------------------------------------- /Spring Boot Persistence Best Practices.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnghelLeonard/Hibernate-SpringBoot/4acdce3aa9e3f23be03bff4175ce69c467718b61/Spring Boot Persistence Best Practices.jpg -------------------------------------------------------------------------------- /SpringBootPayaraMySqlKickoffApplication/src/main/java/com/jpa/queries/PlayerRepository.java: -------------------------------------------------------------------------------- 1 | package com.jpa.queries; 2 | 3 | import com.jpa.model.Player; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.stereotype.Repository; 6 | 7 | @Repository 8 | public interface PlayerRepository extends JpaRepository { 9 | } 10 | 11 | -------------------------------------------------------------------------------- /SpringBootPayaraMySqlKickoffApplication/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | spring.jpa.hibernate.ddl-auto=create 2 | spring.jpa.show-sql=true 3 | spring.jpa.properties.hibernate.generate_statistics=true 4 | -------------------------------------------------------------------------------- /SpringBootPayaraMySqlKickoffApplication/src/main/webapp/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-hacker --------------------------------------------------------------------------------