BAEL-2344 Hibernate Named Query (#5835)

* Added writer

* Added implementation and test class

* Added more details

* Updated tests

* Updated code as per review comments

* Added test class and one named query

* Updated test class

* Added update HQL

* Added new initialisation script and new queries

* Corrected queries

* Removed commented code

* printf examples

Issue: BAEL-2228

* Update README.md

* Added implementation and test class

* Added more details

* Updated tests

* Updated code as per review comments

* Added test class and one named query

* Updated test class

* Added update HQL

* Added new initialisation script and new queries

* Corrected queries

* Removed commented code
This commit is contained in:
Priyesh Mashelkar
2018-12-05 18:30:14 +00:00
committed by maibin
parent a21f82001c
commit cac62f06ae
5 changed files with 209 additions and 2 deletions

View File

@@ -1,7 +1,17 @@
package com.baeldung.hibernate.entities;
import javax.persistence.*;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
@org.hibernate.annotations.NamedQueries({ @org.hibernate.annotations.NamedQuery(name = "DeptEmployee_FindByEmployeeNumber", query = "from DeptEmployee where employeeNumber = :employeeNo"),
@org.hibernate.annotations.NamedQuery(name = "DeptEmployee_FindAllByDesgination", query = "from DeptEmployee where designation = :designation"),
@org.hibernate.annotations.NamedQuery(name = "DeptEmployee_UpdateEmployeeDepartment", query = "Update DeptEmployee set department = :newDepartment where employeeNumber = :employeeNo"),
@org.hibernate.annotations.NamedQuery(name = "DeptEmployee_FindAllByDepartment", query = "from DeptEmployee where department = :department", timeout = 1, fetchSize = 10) })
@org.hibernate.annotations.NamedNativeQueries({ @org.hibernate.annotations.NamedNativeQuery(name = "DeptEmployee_FindByEmployeeName", query = "select * from deptemployee emp where name=:name", resultClass = DeptEmployee.class),
@org.hibernate.annotations.NamedNativeQuery(name = "DeptEmployee_UpdateEmployeeDesignation", query = "call UPDATE_EMPLOYEE_DESIGNATION(:employeeNumber, :newDesignation)", resultClass = DeptEmployee.class) })
@Entity
public class DeptEmployee {
@Id
@@ -16,7 +26,7 @@ public class DeptEmployee {
@ManyToOne
private Department department;
public DeptEmployee(String name, String employeeNumber, Department department) {
this.name = name;
this.employeeNumber = employeeNumber;