A sample tutorial on how to integrate Liquibase with Spring and Hibernate.
While writing this tutorial, I have added javadoc in the code for better understanding and I believe You already have good knowledge on Spring and Hibernate. The main motto of this tutorial is to give an idea on how you can integrate Liquibase with Spring and Hibernate.
If you are new to Liquibase : Click Here
To integrate liquibase into your project, you need liquibase jars, So download it before starting the project.
I have created an application named "SHLIntegration". The Structure of the project is as follows :
The dependencies are also listed here:
Lets start with Employee class :
1. Create Employee class having getter/setter and add proper JPA annotation to each variable as below.
public class Employee {
@Id
@GeneratedValue
@Column(name="EMPLOYEE_ID")
private long id;
@Column(name="NAME")
private String name;
@Column(name="GENDER")
private String gender;
@Column(name="COUNTRY")
private String country;
@Column(name="ABOUT_YOU")
private String aboutYou;
.....
....
.... // getter setter of each object
}
2. Create liquibase file i,e db-changelog.xml file
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd">
<changeSet author="waheed" id="123456789-1">
<createTable tableName="EMPLOYEE">
<column autoIncrement="true" name="EMPLOYEE_ID" type="BIGINT">
<constraints nullable="false" primaryKey="true" />
</column>
<column name="NAME" type="VARCHAR(255)" />
<column name="GENDER" type="VARCHAR(2)" />
<column name="COUNTRY" type="VARCHAR(255)" />
<column name="ABOUT_YOU" type="VARCHAR(255)" />
</createTable>
</changeSet>
</databaseChangeLog>
3. Add liquibase bean in your bean :
<bean id="LiquibaseUpdater" class="liquibase.integration.spring.SpringLiquibase">
<property name="dataSource" ref="dataSource" />
<property name="changeLog" value="classpath:db-changelog.xml" />
</bean>
and others beans which are required for Spring/Hibernate. Check bean file
The complete tutorial :
https://github.com/abdulwaheed18/SHLIntegration
Please feel free to do comment or drop me a mail regarding any suggestion/Feedback.
Email : waheedtechblog@gmail.com
While writing this tutorial, I have added javadoc in the code for better understanding and I believe You already have good knowledge on Spring and Hibernate. The main motto of this tutorial is to give an idea on how you can integrate Liquibase with Spring and Hibernate.
If you are new to Liquibase : Click Here
To integrate liquibase into your project, you need liquibase jars, So download it before starting the project.
I have created an application named "SHLIntegration". The Structure of the project is as follows :
The dependencies are also listed here:
Lets start with Employee class :
1. Create Employee class having getter/setter and add proper JPA annotation to each variable as below.
public class Employee {
@Id
@GeneratedValue
@Column(name="EMPLOYEE_ID")
private long id;
@Column(name="NAME")
private String name;
@Column(name="GENDER")
private String gender;
@Column(name="COUNTRY")
private String country;
@Column(name="ABOUT_YOU")
private String aboutYou;
.....
....
.... // getter setter of each object
}
2. Create liquibase file i,e db-changelog.xml file
<?xml version="1.0" encoding="UTF-8"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-2.0.xsd">
<changeSet author="waheed" id="123456789-1">
<createTable tableName="EMPLOYEE">
<column autoIncrement="true" name="EMPLOYEE_ID" type="BIGINT">
<constraints nullable="false" primaryKey="true" />
</column>
<column name="NAME" type="VARCHAR(255)" />
<column name="GENDER" type="VARCHAR(2)" />
<column name="COUNTRY" type="VARCHAR(255)" />
<column name="ABOUT_YOU" type="VARCHAR(255)" />
</createTable>
</changeSet>
</databaseChangeLog>
3. Add liquibase bean in your bean :
<bean id="LiquibaseUpdater" class="liquibase.integration.spring.SpringLiquibase">
<property name="dataSource" ref="dataSource" />
<property name="changeLog" value="classpath:db-changelog.xml" />
</bean>
and others beans which are required for Spring/Hibernate. Check bean file
The complete tutorial :
https://github.com/abdulwaheed18/SHLIntegration
Please feel free to do comment or drop me a mail regarding any suggestion/Feedback.
Email : waheedtechblog@gmail.com