cela a été me tracasse,Grails unidirectionnelle un à plusieurs
permet de dire que j'ai deux modèles, la catégorie et produit
class Category {
static hasMany = [products : Product]
String name
}
..
class Product {
String name
}
maintenant, je veux supprimer le produit, ce qui arrive à exister dans beaucoup de catégorie. Je suis venu avec ces lignes dans mon produit des méthodes beforeDelete
def beforeDelete = {
Category.list()?.each{
it.removeFromProducts(this)
}
}
maintenant cela peut fonctionne, mais la façon dont je le vois, thats un bon nombre de requête pour une tâche simple. Je sais que je peux obtenir le même résultat avec une seule ligne de chaîne SQL ("delete from category_product where product_id =?"). mais je suis juste curieux, y at-il un moyen plus sophistiqué pour y parvenir en grails? (En plus de l'exécution de la chaîne sql)