Skip to content

Instantly share code, notes, and snippets.

@thjanssen
Last active May 25, 2018 14:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save thjanssen/f677042dfeda8f23a15d7eeaac213c2d to your computer and use it in GitHub Desktop.
Save thjanssen/f677042dfeda8f23a15d7eeaac213c2d to your computer and use it in GitHub Desktop.
Order o = em.find(Order.class, 1L);
OrderItem i = new OrderItem();
i.setOrder(o);
o.getItems().add(i);
em.persist(i);
Order o = em.find(Order.class, 1L);
OrderItem i = new OrderItem();
o.getItems().add(i);
em.persist(i);
Order o = em.find(Order.class, 1L);
OrderItem i = new OrderItem();
i.setOrder(o);
em.persist(i);
Store s = em.find(Store.class, 1L);
Product p = new Product();
s.getProducts().add(p);
em.persist(p);
@Entity
public class Store {
public void addProduct(Product p) {
this.products.add(p);
p.getStores().add(this);
}
public void removeProduct(Product p) {
this.products.remove(p);
p.getStores().remove(this);
}
}
@Entity
public class Store {
@ManyToMany
@JoinTable(name = “store_product”,
joinColumns = { @JoinColumn(name = “fk_store”) },
inverseJoinColumns = { @JoinColumn(name = “fk_product”) })
private Set<Product> products = new HashSet<Product>();
}
@Entity
public class Product{
@ManyToMany(mappedBy=”products”)
private Set<Store> stores = new HashSet<Store>();
}
@Entity
public class OrderItem {
@ManyToOne
@JoinColumn(name = “fk_order”)
private Order order;
}
@Entity
public class Order {
@OneToMany(mappedBy = “order”)
private List<OrderItem> items = new ArrayList<OrderItem>();
}
@Entity
public class Order {
public void addItem(OrderItem item) {
this.items.add(item);
item.setOrder(this);
}
}
@Entity
public class Customer{
@OneToOne
@JoinColumn(name = “fk_shippingaddress”)
private ShippingAddress shippingAddress;
}
@Entity
public class ShippingAddress{
@OneToOne(mappedBy = “shippingAddress”)
private Customer customer;
}
Customer c = em.find(Customer.class, 1L);
ShippingAddress sa = c.getShippingAddress();
@Entity
public class Store {
@ManyToMany
private Set<Store> products = new HashSet<Store>();
}
@Entity
public class Store {
@ManyToMany
@JoinTable(name = “store_product”,
joinColumns = { @JoinColumn(name = “fk_store”) },
inverseJoinColumns = { @JoinColumn(name = “fk_product”) })
private Set<Product> products = new HashSet<Product>();
}
@Entity
public class OrderItem {
@ManyToOne
private Order order;
}
@Entity
public class OrderItem {
@ManyToOne
@JoinColumn(name = “fk_order”)
private Order order;
}
@Entity
public class Order {
@OneToMany
private List<OrderItem> items = new ArrayList<OrderItem>();
}
@Entity
public class Order {
@OneToMany
@JoinColumn(name = “fk_order”)
private List<OrderItem> items = new ArrayList<OrderItem>();
}
@Entity
public class Customer{
@OneToOne
@JoinColumn(name = “fk_shippingaddress”)
private ShippingAddress shippingAddress;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment