Secure and Efficient Oracle DB Setup with Spring Boot and Testcontainers
Having one user for creating database objects (DDL) and another for application-level data operations (DML) has many benefits. It improves security, keeps things organized, and makes maintenance easier.
CQRS meets modern Java
Developing robust yet maintainable software solutions remains at the heart of modern software development. The Command Query Responsibility Segregation (CQRS) pattern offers an efficient method by creating a clear separation between executing commands and querying data, simplifying the system architecture and improving performance. At the same time, the Data-Oriented Programming (DOP) approach strongly focuses on [...]
2024: A Year of Sharing Knowledge and Software Modernization
As 2024 comes to an end, I want to share my journey through this eventful year. It has been filled with exciting projects, knowledge sharing, and connecting with developer communities worldwide.
Using Oracle JSON-Relational Duality Views with Spring Boot. The ORM Killer?
Oracle Database 23ai introduced a powerful feature called JSON-Relational Duality Views. These views let you work with relational data in a document-oriented way. In this post, I’ll show you how to use this feature with Spring Boot.
Integrating Google Analytics with Vaadin Flow: A Step-by-Step Guide
Want to track how users interact with your Vaadin Flow application? Learn how to integrate Google Analytics with a clean, reusable component. This guide shows you step-by-step how to set up tracking, monitor page views, and capture custom events in your Vaadin application.
Browserless Testing of Vaadin Applications with Karibu Testing
In modern web development, testing is essential for ensuring the reliability and performance of applications. For developers working with Vaadin, one of the best testing tools is Karibu Testing. This testing framework stands out for its ability to run browserless testing, offering several advantages over traditional end-to-end testing approaches, such as Selenium, Playwright, or Cypress.
Fly.io and Neon: The Perfect Combination to Run Your Java Applications
With the right tools, deploying and managing Java applications can be straightforward and efficient. This blog post will explore how Fly.io and Neon make a perfect combination for running Java apps. Fly.io offers an easy-to-use platform for deploying your applications globally, while Neon provides a modern, serverless PostgreSQL database that works seamlessly with Java.
The Best Way to Handle Phone Numbers
Processing phone numbers seems complicated at first glance because of the many different formats. In this post, I’ll show you that with libphonenumber, it becomes child’s play. I’ll also recommend how to store the phone number in the database.
Connect to Google Cloud SQL from Java
Recently, I migrated my application to Google Cloud Run and Cloud SQL, and I struggled with connecting to the database. So, I’d like to share one way to achieve the connection.
Microservices
In this blog post, we explain what microservices are, when they should be used, how they can be effectively implemented in companies and analyze the benefits and challenges they bring.
The True Value of Microservices
Read the full article about Microservices written by Simon Martinelli that appeared in Java Spectrum
Hibernate Schema-based Multi-Tenancy using StatementInspector
When using schema-based multi-tenancy with Hibernate, a simple way to define the schema is using a MultiTenantConnectionProvider where we call SET SCHEMA on the connection. However, this approach does not work with certain databases like MS SQL.