org.mise en veille prolongée.QueryException: pas une association
Je veux ajouter une commande par la restriction à un des critères de mise en veille prolongée.
J'ai deux tables d'Événements et MainEvent avec la relation "Un À Plusieurs" (un MainEvent beaucoup d'Événements).
final Criteria criteria = getCurrentSession().createCriteria(
Event.class);
criteria.createAlias("mainEvent.date", "deadline");
criteria.addOrder(Order.asc("deadline"));
return criteria.list();
Lorsque j'essaie d'exécuter ce qu'il me donne l'erreur suivante:
org.mise en veille prolongée.QueryException: pas une association: date.
MainEvent entité:
@Entity
@Table(name = "MAIN_EVENT")
public class MainEventEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "MAIN_EVENT_ID")
private int id;
@Column(name = "MAIN_EVENT_DATE")
private Date date;
@OneToMany(mappedBy = "mainEvent", fetch = FetchType.LAZY, cascade = CascadeType.ALL, orphanRemoval = true)
private List<EventEntity> events = new ArrayList<EventEntity>();
}
Événement entité:
@Entity
@Table(name = "EVENT")
public class EventEntity {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "EVENT_ID")
private int id;
@ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "MAIN_EVENT_ID", nullable = false)
private MainEventEntity mainEvent;
}
- publier vos entité code
Vous devez vous connecter pour publier un commentaire.
Que par l'API pour Les critères.createAlias, vous pouvez créer des alias seulement pour les associations pas pour les champs d'une association.