使用postgresql从表中获取最新记录

时间:2017-07-07 11:26:43

标签: java jpa eclipselink postgresql-9.6

我有表雇员如下,

id|name1|number
--|-----|------
01|test |100
02|test1|101
03|test2|102 

我正在使用jpa和eclipselink实现,数据库是postgresql。 这里我的要求是我想使用select查询获取最新记录。任何人都可以建议查询始终获取最新记录。 谢谢,

2 个答案:

答案 0 :(得分:2)

您可以使用以下查询从mysql

获取适当的结果
select * from employee order by id desc limit 1

答案 1 :(得分:1)

您必须在实体类中添加updatedDate字段。

  

所以我想知道我的问题是否有一种简单的方法,这意味着有@PrePersist或@PreUpdate甚至其他解决方法来设置lastModified字段仍然使用session

实体类:

@Entity
@Table(name = "employee")
public class Employee {

    @Id
    @GeneratedValue
    private Long id;


    @Column(name = "name")  
    private String name;

    @Column(name = "number")  
    private Long number;

    @Column(name = "updated_at")  
    @Temporal(TemporalType.TIMESTAMP)  
    private Date updatedAt;  

    // getter setter

    @PreUpdate  
    public void setChangeDate() {  
       this.updatedAt = new Date();  
    }  

}

您可以使用JPA查询。这次考试:

String query = "SELECT emp FROM Employee emp order by updatedAt desc limit 1 ";