Uncategorized

Hibernate – Associations are not loaded

Leave a Comment on Hibernate – Associations are not loaded

If you have simple associations like this: But when you load a class entity and the students is an empty set and you are sure there are records in the students table […]

READ MORE

Database / Java / MySQL / Spring Boot

Hibernate Error – Encountered problem trying to hydrate identifier for entity

Leave a Comment on Hibernate Error – Encountered problem trying to hydrate identifier for entity

This is the stack trace for this error: You may get this error if the data type defined on the database table is different from the one defined in Hibernate/Java code. To […]

READ MORE

Spring Boot / Uncategorized

Working with Hibernate in a multi-threaded application

Tagged , Leave a Comment on Working with Hibernate in a multi-threaded application

Some of my learnings while working with Hibernate in a multi-threaded Spring Boot application. Multiple sessions When you start an @Async method, it runs in its own thread managed by Spring. This […]

READ MORE

Web Development

Designing REST APIs

Tagged , , Leave a Comment on Designing REST APIs

Response: Returning errors When the API has to communicate a full error or a partial error back to the client, it is better to have a typed structure rather than a plain […]

READ MORE

Spring Boot

Fixing slow Bcrypt and BasicAuthenticationFilter.doFilter

Tagged Leave a Comment on Fixing slow Bcrypt and BasicAuthenticationFilter.doFilter

I recently investigated and fixed a performance issue with user authentication in our Spring Boot based API service. Our users started complaining about random 504s from our service. Looking at our thread […]

READ MORE

PHP

Vagrant Remote Debugging – Xdebug 3 & IntelliJ or PHPStorm

Tagged , , Leave a Comment on Vagrant Remote Debugging – Xdebug 3 & IntelliJ or PHPStorm

Debugging is one of the most efficient ways to investigate an unexpected behaviour. This post details how to setup a debugger for a PHP application running in a vagrant machine via your […]

READ MORE

CI/CD

Jenkinsfile – Cheat sheet, Examples & References

Tagged Leave a Comment on Jenkinsfile – Cheat sheet, Examples & References

All of these examples were tested with the ‘Multibranch Pipeline’ type jobs. This may not work with other types of jobs in Jenkins. Validate Jenkinsfile for syntax Navigate to the directory which […]

READ MORE

Spring Boot

How to mock Clock in DTO classes?

Leave a Comment on How to mock Clock in DTO classes?

If you need to freeze time for a Spring Boot integration test, the easiest option is to define a custom bean for Clock object for test profile. Eg This only works if […]

READ MORE

Spring Boot

Hide Links object with SpringDoc & Swagger 3

Leave a Comment on Hide Links object with SpringDoc & Swagger 3

We started generating Swagger 3 documentation (OpenAPI 3.0) for our API service using SpringDoc. We are also using Spring Hateoas to include links within the response for easy navigation. The generated schema […]

READ MORE

Productivity

iTerm2 – Clear scrollback automatically on a schedule

Tagged , Leave a Comment on iTerm2 – Clear scrollback automatically on a schedule

iTerm2 is my default terminal and have been using it for close to 8 years now. It is highly customizable and has API support for hackability. I was using it today to […]

READ MORE

Spring Boot

Fixing slow Bcrypt and BasicAuthenticationFilter.doFilter

Tagged Leave a Comment on Fixing slow Bcrypt and BasicAuthenticationFilter.doFilter

I recently investigated and fixed a performance issue with user authentication in our Spring Boot based API service. Our users started complaining about random 504s from our service. Looking at our thread […]

READ MORE

CI/CD

Jenkinsfile – Cheat sheet, Examples & References

Tagged Leave a Comment on Jenkinsfile – Cheat sheet, Examples & References

All of these examples were tested with the ‘Multibranch Pipeline’ type jobs. This may not work with other types of jobs in Jenkins. Validate Jenkinsfile for syntax Navigate to the directory which […]

READ MORE

PHP

Vagrant Remote Debugging – Xdebug 3 & IntelliJ or PHPStorm

Tagged , , Leave a Comment on Vagrant Remote Debugging – Xdebug 3 & IntelliJ or PHPStorm

Debugging is one of the most efficient ways to investigate an unexpected behaviour. This post details how to setup a debugger for a PHP application running in a vagrant machine via your […]

READ MORE

Productivity

iTerm2 – Clear scrollback automatically on a schedule

Tagged , Leave a Comment on iTerm2 – Clear scrollback automatically on a schedule

iTerm2 is my default terminal and have been using it for close to 8 years now. It is highly customizable and has API support for hackability. I was using it today to […]

READ MORE