私はMapStructを初めて使用しており、googleで私の質問に対する回答を見つけることができませんでした。 サンプル(他のプロパティの中でも)を持っているShoppingCartを持っていて、各サンプルにはShoppingCartへの参照が必要です。 MapStructでこのようなマッピングを行うことは可能ですか? MapStructを使用しないShoppingCartへの参照をサンプルに渡すだけです。これは、手で書かれました:MapStructバックリンクマッピングは可能ですか?
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
は、あなたやMapStructによって作成された問題の方法ですか? – Filip
'ShoppingCart'には' ShoppingCartSample'(s)が含まれていますか?マップしたいサイクルがありますか?モデルの簡略化されたコードを表示できますか?私はこの情報を必要とするので、質問に最も正確に答えることができます。私は現時点で正しく理解しているかどうかはわかりません。 – Filip
はい、ShoppingCartにShoppingCarSamplesが含まれています。 ShoppingCartSampleにはShoppingCartが含まれています。私はこれをサイクルと呼ぶことができると思います。 –