Как использовать двунаправленные отношения "многие ко многим" с GreenDAO?

Прочитав страницы отношений документа, я могу использовать отношение многие ко многим, как это:

@Entity
public class Product {
    @Id private Long id;

    @ToMany
    @JoinEntity(
            entity = JoinProductsWithOrders.class,
            sourceProperty = "productId",
            targetProperty = "orderId"
    )
    private List<Order> ordersWithThisProduct;
}

@Entity
public class JoinProductsWithOrders {
    @Id private Long id;
    private Long productId;
    private Long orderId;
}

@Entity
public class Order {
    @Id private Long id;
}

Теперь, с помощью этого кода, могу ли я иметь двунаправленные отношения и получить доступ из заказа к списку продуктов, связанных с ним? Или я должен добавить Список продуктов в классе Order тоже? Что-то вроде этого:

...
@Entity
public class Order {
    @Id private Long id;

    @ToMany //I don't know if this is corect btw.
    private List<Product>  productsForThisOrder;
}

1 ответ

Вот как вы должны это сделать:

@Entity
public class Order {
    @Id private Long id;

    @ToMany
    @JoinEntity(
        entity = JoinProductsWithOrders.class,
        sourceProperty = "orderId",
        targetProperty = "productId"
    )
    private List<Product>  productsForThisOrder;
}
Другие вопросы по тегам