0

但是,如果要审查的租赁单元具有一对多的双向关系,我有以下测试通过。如果要查看的租赁单元具有单向的一对多关系,则会失败。怎么来的?以及如何使它也通过单向?

测试(斯波克):

def "one-to-many relationship between RentalUnit and Review"() {
        when:"adding shared review will result referenced by last rental unit"
        def review3 = Review.build().save(flush: true)
        def rentalUnit1 = RentalUnit.build().addToReviews(review3).save(flush: true)
        def rentalUnit2 = RentalUnit.build().addToReviews(review3).save(flush: true)
        rentalUnit1.refresh()

        then:
        !rentalUnit1.reviews.contains(review3)
    } 

代码:出租单元类是相同的 - 单向和双向

class RentalUnit {
 ...
    static hasMany = [reviews:Review]

    static mapping = {
        reviews cascade: "all-delete-orphan"
    }
...
}

在单向情况下,Review 类不包含与租赁单元相关的任何内容。在双向情况下,Review 有额外的一行:

static belongsTo = [rentalUnit: RentalUnit]

(完整代码,在我的博客中)

4

0 回答 0