Creating An Employee Entity Class U
Creating An Employee Entity Class U
data insertion:
Step 1: Create a Maven Project
You can create a Maven project using your preferred IDE or by running the following
command in your terminal:
bash
Add the necessary dependencies for Hibernate and your database driver in the
pom.xml file:
xml:
<dependencies>
<!-- Hibernate -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.5.7.Final</version>
</dependency>
<!-- Database Driver -->
<!-- Add the appropriate driver based on your database (e.g., MySQL,
PostgreSQL, etc.) -->
</dependencies>
XML
</session-factory>
</hibernate-configuration>
java
package com.example.model;
import javax.persistence.*;
@Entity
@Table(name = "employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "salary")
private double salary;
To insert sample data, you can write a sample Java application or use Hibernate's
built-in functionality to insert data. Here's an example of inserting sample data
using Hibernate:
java
package com.example;
import com.example.model.Employee;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
// Create session
Session session = factory.openSession();
// Begin transaction
Transaction transaction = session.beginTransaction();
session.save(employee1);
session.save(employee2);
// Commit transaction
transaction.commit();
// Close session
session.close();
Compile and run the application. Make sure your database server is running and
accessible.
java
package com.example.model;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name = "department")
public class Department {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
java
package com.example.model;
import javax.persistence.*;
@Entity
@Table(name = "employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "salary")
private double salary;
@ManyToOne
@JoinColumn(name = "department_id")
private Department department;
Update the sample data insertion code to include relationships between Department
and Employee:
java
// Create session
Session session = factory.openSession();
// Begin transaction
Transaction transaction = session.beginTransaction();
// Create departments
Department department1 = new Department();
department1.setName("Engineering");
session.save(department1);
session.save(department2);
session.save(employee1);
session.save(employee2);
session.save(employee3);
// Commit transaction
transaction.commit();
// Close session
session.close();
You can now perform CRUD operations on Employee and Department entities. For
example, to retrieve all employees in a department:
java
Similarly, you can perform operations like updating and deleting entities as
needed.
java
package com.example.model;
import javax.persistence.*;
@Entity
@Table(name = "user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "username")
private String username;
@Column(name = "email")
private String email;
java
package com.example.model;
import javax.persistence.*;
@Entity
@Table(name = "employee")
public class Employee {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
@Column(name = "salary")
private double salary;
@OneToOne
@JoinColumn(name = "user_id")
private User user;
java
package com.example.model;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Entity
@Table(name = "department")
public class Department {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "name")
private String name;
Now, let's perform CRUD operations on Employee, Department, and User entities.
java
// Create session
Session session = factory.openSession();
// Begin transaction
Transaction transaction = session.beginTransaction();
// Commit transaction
transaction.commit();
// Retrieve an employee by ID
transaction = session.beginTransaction();
Employee retrievedEmployee = session.get(Employee.class, employee.getId());
System.out.println("Retrieved Employee: " + retrievedEmployee.getName());
// Delete an employee
transaction = session.beginTransaction();
session.delete(retrievedEmployee);
transaction.commit();
// Close session
session.close();