Comment spécifier clause OrderBy sur deux colonnes
Nous aimerions orderBy 2 colonnes dans la Couture EntityQuery de l'interface ainsi que l'APC de modèle. Comment pouvons-nous faire cela?
@Entity
public class A{
@OrderBy(???) //should this be hardcoded here, is it database agnostic
List<B> bobjects;
}
@Entity
public class B {
public short startTimeHrs;
public short startTimeMins;
}
@Name("bList")
public class B extends EntityQuery {
setOrderColumn("startTimeHrs, startTimeMins"); //Is this correct?
setOrderDirection("asc");
}
OriginalL'auteur Sam | 2010-10-18
Vous devez vous connecter pour publier un commentaire.
Si vous parlez
javax.persistence.OrderBy
, cette annotation prend en paramètre une liste séparée par des virgules (propriétés de l'entité cible) et de l'ordre de la collection en conséquence. Par exemple, dans votre cas,startTimeHrs asc, startTimeMins asc
.De la JPA 1.0 spécification:
OriginalL'auteur Pascal Thivent
Oui, vous pouvez utiliser
@OrderBy
pour commander vos requêtes.Maintenant, chaque fois que vous dites
A.getBobjects()
ils seront commandés. Toutefois, si vous utilisez le EntityQuery moyen de récupérer le résultat, vous pouvez remplacer lagetEjbql()
et de mettre de l'ordre par là.Ou vous pouvez
@Override
lagetResultList()
de manipuler la collection t-il dans votre entityListsC'est à vous. Vous pouvez tout faire dans la ejbql
OriginalL'auteur Shervin Asgari