Let’s say that you have a json file which you want to map to a table in the database in your application with Spring Boot

languages.json

First, in order to map this to a class, we need to create an entity.

import javax.persistence.Entity;
import javax.persistence.Id;
import javax.validation.constraints.Size;

All annotations except for Entity above class definition comes from Lombok library. Data annotation provides getters, setters, equals function, the other two is pretty self-explanatory. If you decide to use Lombok in your project and have problems, I suggest you to take a look at this post.

I wanted to use language code field as the primary key, since it’s internationally accepted and unique for each spoken language. You can also have a Long field and let javax.persistence library to auto generate an id for you, it is entirely up to your design choices.

After that, I created a command line runner to load this json into my database at the beginning of the application.

package com.countries.mehmet;

CommandLineRunner interface have one abstract method that needs to be implemented, i.e. run.

import java.util.Iterator;

Language service is an interface which needs to be implemented in order to connect to your database in the back. While implementing, I used JPA repository and an H2 in-memory database.

a geek who loves to understand the reasons behind things... and colors... Colors are cool.