Bonjour à tous,

J'ai un petit souci de construction de restriction avec Criteria.

je dispose d'un objet A, qui contient une liste d'objet B
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
Class A
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
 
@ManyToMany(mappedBy="x")
@ForeignKey(name="FK_x")
private List<B> b;
...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
Class B
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
...
Je doit effectuer une requête qui va retourner une liste d'objet A en fonction du fait quelle contienne un objet B qui à pour id = 1

Mais la je sèche complètement.
J'ai tenter une chose de ce genre, mais sans résultat.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
B b = new B();
b.setId(1);
 
Criteria crit = session.createCriteria(A.class)
    	.add(Restrictions.eq("B", ( new ArrayList<B>().add(b) ) ) )
);
 
List<A> a= (List<A>)crit.list();
Je suis preneur de toutes idées.

D'avance, merci!