Я новичок в MapStruct и не смог найти ответ на свой вопрос в Google. У меня есть корзина покупок, в которой есть образцы (среди прочего), и каждому образцу нужна ссылка на мою корзину покупок. Можно ли сделать такое отображение с помощью MapStruct? Без MapStruct я просто передаю ссылку на ShoppingCart в Samples. Это было написано от руки:
protected ShoppingCart map(Cart cart, DataShareOption dataShareOption) {
//(other stuff)
for (CartSample cartSample : cart.getCartSamples()) {
ShoppingCartSample sample = mapCartSample(cartSample, shoppingCart,
dataShareOption);
shoppingCart.getSamples().add(sample);
}
}
protected ShoppingCartSample mapCartSample(CartSample cartSample,
ShoppingCart shoppingCart, DataShareOption dataShareOption) {
ShoppingCartSample sample = new ShoppingCartSample();
sample.setShoppingCart(shoppingCart);
//(other stuff)
return sample;
}
// the classes declarations:
// business class
public class ShoppingCart extends ShoppingCartHeader
{
private List<ShoppingCartSample> samples = new ArrayList<ShoppingCartSample>();
//rest of the class
// data base class:
@Entity
@Table(name = "cart")
public class Cart extends BaseEntity
{
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true, mappedBy = "cart")
private Set<CartSample> cartSamples = new HashSet<CartSample>();
// more stuff here
// business class:
public class ShoppingCartSample
{
private ShoppingCart shoppingCart;
// rest of the class
// data base class:
@Entity
@Table(name = "cart_sample")
public class CartSample
{
@ManyToOne()
@JoinColumn(name = "cart_id")
private Cart cart;
// more stuff here
ShoppingCart
ShoppingCartSample
(ы)? У вас есть циклы, которые вы хотите отобразить? Можете ли вы показать упрощенный код ваших моделей? Мне нужна эта информация, чтобы я мог наиболее правильно ответить на вопрос, я не уверен, правильно ли я его понимаю в данный момент. - person Filip   schedule 03.08.2017