package jef.orm.joindesc; import java.util.List; 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; import jef.database.annotation.JoinDescription; @Entity() public class Student extends jef.database.DataObject { /** * */ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.SEQUENCE) private int id; private String name; public enum Field implements jef.database.Field { id, name } public Student() { } public Student(String string) { this.name = string; } public Student(int i) { this.id = i; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @OneToMany(targetEntity = UserToLession.class) @JoinColumn(name = "id", referencedColumnName = "userId") @JoinDescription(filterCondition="testTime > subdate(current_timestamp , 10)" ,maxRows=10) @OrderBy("testTime desc") private List<UserToLession> toLession; @OneToMany(targetEntity = UserToLession.class) @JoinColumn(name = "id", referencedColumnName = "userId") @OrderBy("score desc") @JoinDescription(filterCondition="testTime > subdate(current_timestamp , 10)" ,maxRows=1) private UserToLession maxScoreLession; public UserToLession getMaxScoreLession() { return maxScoreLession; } public void setMaxScoreLession(UserToLession maxScoreLession) { this.maxScoreLession = maxScoreLession; } public List<UserToLession> getToLession() { return toLession; } public void setToLession(List<UserToLession> toLession) { this.toLession = toLession; } }