Note that there are some explanatory texts on larger screens.

plurals
  1. PO@OrderBy not working properly in JPA
    primarykey
    data
    text
    <p>How does <code>@OrderBy</code> work?</p> <p>It is not working here in the following code:</p> <p><strong>Employee.java</strong></p> <pre><code>package com.semanticbits.pojo; import java.util.List; import javax.persistence.CascadeType; import javax.persistence.Embedded; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.OneToMany; import javax.persistence.OrderBy; @Entity public class Employee { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private int employeeId; private String name; private double salary; @OneToMany(cascade=CascadeType.ALL) @JoinColumn(name="EMP_ID") @OrderBy("city DESC") private List&lt;Address&gt; address; //setters and getters public int getEmployeeId() { return employeeId; } public void setEmployeeId(int employeeId) { this.employeeId = employeeId; } 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; } public List&lt;Address&gt; getAddress() { return address; } public void setAddress(List&lt;Address&gt; address) { this.address = address; } } </code></pre> <p><strong>Address.java</strong></p> <pre><code>package com.semanticbits.pojo; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; @Entity public class Address { @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private int addressId; private String street; private String city; private String state; private int zipCode; public String getStreet() { return street; } public void setStreet(String street) { this.street = street; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getState() { return state; } public void setState(String state) { this.state = state; } public int getZipCode() { return zipCode; } public void setZipCode(int zipCode) { this.zipCode = zipCode; } } </code></pre> <p><strong>persistence.xml</strong></p> <pre><code> &lt;?xml version="1.0" encoding="UTF-8"?&gt; &lt;persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0"&gt; &lt;persistence-unit name="orderbyannotationdemo" transaction-type="RESOURCE_LOCAL"&gt; &lt;provider&gt;&lt;/provider&gt; &lt;class&gt;com.semanticbits.pojo.Employee&lt;/class&gt; &lt;class&gt;com.semanticbits.pojo.Address&lt;/class&gt; &lt;properties&gt; &lt;property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/shoaib"/&gt; &lt;property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/&gt; &lt;property name="javax.persistence.jdbc.user" value="root"/&gt; &lt;property name="javax.persistence.jdbc.password" value="root"/&gt; &lt;property name="eclipselink.logging.level" value="FINE"/&gt; &lt;property name="eclipselink.ddl-generation" value="create-tables"/&gt; &lt;/properties&gt; &lt;/persistence-unit&gt; &lt;/persistence&gt; </code></pre> <p>This is the test class......check out the city name and it is not storing address values in order in descending order in the ADDRESS table</p> <p><strong>JPAOrderByAnnotationTest</strong></p> <pre><code> package com.semanticbits.test; import java.util.ArrayList; import java.util.List; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; import com.semanticbits.pojo.Address; import com.semanticbits.pojo.Employee; public class JPAOrderByAnnotationTest { /** * @param args */ public static void main(String[] args) { EntityManagerFactory factory=Persistence.createEntityManagerFactory("orderbyannotationdemo"); EntityManager manager=factory.createEntityManager(); Employee employee=new Employee(); employee.setName("Shoaib"); employee.setSalary(1452365); Address addressOffice=new Address(); addressOffice.setCity("Hyderabad"); addressOffice.setStreet("Gachibowli"); addressOffice.setState("AP"); addressOffice.setZipCode(500016); Address addressHome=new Address(); addressHome.setCity("Noida"); addressHome.setStreet("Chandai Chowk"); addressHome.setState("UP"); addressHome.setZipCode(415608); Address addressCollege=new Address(); addressCollege.setCity("Antartica"); addressCollege.setState("Canada"); addressCollege.setStreet("New York"); addressCollege.setZipCode(402103); List&lt;Address&gt; addresses=new ArrayList&lt;Address&gt;(); addresses.add(addressHome); addresses.add(addressOffice); addresses.add(addressCollege); employee.setAddress(addresses); manager.getTransaction().begin(); manager.persist(employee); manager.getTransaction().commit(); manager.close(); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload