You are on page 1of 3

Employee class:

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.GenerationType;

import javax.persistence.Id;

@Entity

public class Employee {

@Id

@GeneratedValue(strategy = GenerationType.IDENTITY)

private Long id;

private String name;

private double salary;

// Constructors, getters, and setters

public Employee() {

public Employee(String name, double salary) {

this.name = name;

this.salary = salary;

// Getters and Setters

public Long getId() {

return id;

}
public void setId(Long id) {

this.id = id;

public String getName() {

return name;

public void setName(String name) {

this.name = name;

public double getSalary() {

return salary;

public void setSalary(double salary) {

this.salary = salary;

Employee HQL
import javax.persistence.*;

import java.util.List;

public class EmployeeData {

private EntityManager entityManager;


public EmployeeData(EntityManager entityManager) {

this.entityManager = entityManager;

public Double calculateAverageSalary() {

Query query = entityManager.createQuery("select avg(e.salary) from Employee e");

return (Double) query.getSingleResult();

public static void main(String[] args) {

EntityManagerFactory entityManagerFactory =
Persistence.createEntityManagerFactory("EmployeePU");

EntityManager entityManager = entityManagerFactory.createEntityManager();

EmployeeDAO employeeData = new EmployeeData(entityManager);

Double averageSalary = employeeData.calculateAverageSalary();

System.out.println("Average Salary of all employees: " + averageSalary);

entityManager.close();

entityManagerFactory.close();

You might also like