Git Flow Context In the context of Git Flow, a popular branching model for managing Git branches, the roles of tags and branches are clearly defined: Branches: Main Branches: main (or master) : The main branch where the source code of HEAD always reflects a production-ready state. develop : The branch where the latest development happens. This branch contains the complete history of the project, whereas the main branch contains an abridged version. Supporting Branches: Feature Branches: Used to develop new features. Typically created off the develop branch and merged back into develop. git switch -c feature/<feature-name> develop Release Branches: Used to prepare a new production release. Created from develop and merged into both main and develop. git switch -c release/<version> develop Hotfix Branches: Used to quickly fix production issues. Created from main and merged back into both main and develop. git switch -c hotfix/<description> main Tags: Release Tags : U...
Validating Native Query and Entity Graph Using native queries in Spring JPA/Hibernate can be less enjoyable, but they are occasionally indispensable, especially for enhancing performance. Similarly, EntryGraphs become necessary in specific situations to mitigate N+1 scenarios or define data boundaries retrieved from the database. Since it's challenging to validate these scenarios without executing each query, inadequate testing can lead to significant issues. The same holds true when refactoring numerous database tables and columns, potentially missing updates in native queries, which may slip through testing and manifest in production. You may encounter such scenarios as well. Therefore, we've invested effort into developing a solution to validate native queries against a schema. You might be interested in such thing or suggest some improvement over it. Here's what we've accomplished: Developed a component that conducts validation by executing each native query agains...