back to home

vladmihalcea / high-performance-java-persistence

The High-Performance Java Persistence book and video course code examples

1,458 stars
517 forks
3 issues
JavaPLpgSQLBatchfile

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing vladmihalcea/high-performance-java-persistence in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/vladmihalcea/high-performance-java-persistence)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

High-Performance Java Persistence The High-Performance Java Persistence book and video course code examples. I wrote this article about this repository since it's one of the best way to test JDBC, JPA, Hibernate or even jOOQ code. Or, if you prefer videos, you can watch this presentation on YouTube. Are you struggling with application performance issues? Imagine having a tool that can automatically detect if you are using JPA and Hibernate properly. No more performance issues, no more having to spend countless hours trying to figure out why your application is barely crawling. Imagine discovering early during the development cycle that you are using suboptimal mappings and entity relationships or that you are missing performance-related settings. More, with Hypersistence Optimizer, you can detect all such issues during testing and make sure you don't deploy to production a change that will affect data access layer performance. Hypersistence Optimizer is the tool you've been long waiting for! Training If you are interested in on-site training, I can offer you my High-Performance Java Persistence training which can be adapted to one, two or three days of sessions. For more details, check out my website. Consulting If you want me to review your application and provide insight into how you can optimize it to run faster, then check out my consulting page. High-Performance Java Persistence Video Courses If you want the fastest way to learn how to speed up a Java database application, then you should definitely enroll in my High-Performance Java Persistence video courses. High-Performance Java Persistence Book Or, if you prefer reading books, you are going to love my High-Performance Java Persistence book as well. Java All examples require at least Java 17 because of the awesome Text Blocks feature, which makes JPQL and SQL queries so much readable. Maven You need to use Maven 3.6.2 or newer to build the project. IntelliJ IDEA On IntelliJ IDEA, the project runs just fine. You will have to make sure to select Java 17 or newer. Database setup The project uses various database systems for integration testing, and you can configure the JDBC connection settings using the instances (e.g., ). By default, without configuring any database explicitly, HSQLDB is used for testing. However, since some integration tests are designed to work on specific relational databases, we will need to have those databases started prior to running those tests. Therefore, when running a DB-specific test, this GitHub repository will execute the following steps: • First, the test will try to find whether there's a local RDBMS it can use to run the test. • If no local database is found, the integration tests will use Testcontainers to bootstrap a Docker container with the required *Oracle*, *SQL Server*, *PostgreSQL*, *MySQL*, *MariaDB*, *YugabyteDB*, or *CockroachDB* instance on demand. > While you don't need to install any database manually on your local OS, this is recommended since your tests will run much faster than if they used Testcontainers. Manual Database configuration • PostgreSQL You can install PostgreSQL, and the password for the user should be . Now you need to create a database. • Oracle You need to download and install Oracle XE Set the password to Connect to Oracle using the "sys as sysdba" user and create a new user: alter session set "_ORACLE_SCRIPT"=true; create user oracle identified by admin default tablespace users; grant dba to oracle; alter system set processes=1000 scope=spfile; alter system set sessions=1000 scope=spfile; ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; Open the folder where is your current Windows username. Locate the and files and change the port from to if that's the case. If you made these modifications, you need to restart the and Windows services. • MySQL You should install MySQL 8, and the password for the user should be . Now, you need to create a schema Besides having all privileges on this schema, the user also requires select permission on . If you don't have a user created at database installation time, you can create one as follows: sa adm1n high_performance_java_persistence build.bat build.sh mvn clean test`) because the test suite will take a very long time to complete. > > So, run the test you are interested in individually. Enjoy learning more about Java Persistence, Hibernate, and database systems!