私は 2 つのエンティティCustomer
とProduct
関係を持っていmany-to-many
ます。
`
@ManyToMany(cascade = CascadeType.MERGE, fetch=FetchType.LAZY)
@JoinTable(
name = "customer_products",
joinColumns={@JoinColumn(name="customer_id")},
inverseJoinColumns = {@JoinColumn(name="product_id")})
@CollectionId(
columns = @Column(name="id"),
type = @Type(type="long"),
generator = "native"
)
public Collection<Product> getProducts() {
return products;
}
public void addProduct(Product product){
this.products.add(product);
}
public void setProducts(Collection<Product> products) {
this.products = products;
}
`
顧客製品を追加したい
`
Customer customer = (Customer)session.load(Customer.class, new Long(1));
Product product = (Product) session.load(Product.class, new Long(1));
customer.addProduct(product);
session.persist(customer);`
コードが行うことは、テーブルからすべての列を選択し、それらのテーブルからのみテーブルCustomer
にProducts
挿入することです。上記の表からのみ選択する方法はありますか?ids
customer_products
ids