I think I would map your Server so it has a list or set of Restorations, and sort them by the date, in descending order. Then the first item in the list is the one you want.
If you're using annotations, it'd look like the following. (I've left out ids, getters and setters, and other stuff):
Code:
@Entity
class Restoration {
@ManyToOne
private Server server;
}
@Entity
class Server {
@OneToMany(mappedBy="server")
@OrderBy("date DESC")
private List<Restoration> restorations;
public Restoration getLastRestoration() {
return restorations.get(0);
}
...
}
Note that if you don't need traverse the relationship from Restoration to Server, you don't need the @ManyToOne mapping in Restoration.
Anyway, would this work for you?