The @OrderBy annotation is shown with red for "priority" in the following code, which is correct and works in hibernate:
import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Entity
public class Container {
// ----- instance fields -----
List<Content> content = new ArrayList<Content>();
private int id;
// ----- public methods -----
@OneToMany(targetEntity = Content.class)
@Cascade(CascadeType.ALL)
@JoinColumn(name = "CONTAINER_ID", nullable = false)
@OrderBy("priority ASC")
public List<Content> getContent() {
return content;
}
public void setContent(List<Content> content) {
this.content = content;
}
@Column(name = "ID", nullable = false)
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity
public class Content {
// ----- instance fields -----
int id;
int priority;
// ----- constructors -----
public Content(int priority) {
this.priority = priority;
}
public Content() {
}
// ----- public methods -----
@Id
@Column(name = "ID", nullable = false)
@GeneratedValue(strategy = GenerationType.AUTO)
public int getId() {
return id;
} }
public void setId(int id) {
this.id = id;
}
public int getPriority() {
return priority;
}
public void setPriority(int priority) {
this.priority = priority;
}
}