2017-04-02 3 views

答えて

0

あなたの努力を常にあなたの質問と一緒に伝えてください。

私によると、これはシナリオの1つは

ユーザー、のようになる多くのシナリオ

で行くことができますが、一つのカートを持って、カートには多くの製品と多くの製品を持っています

多くカートに属しコードは次のようになります。エンティティに必要なパラメータを追加することができます。

ユーザエンティティ

import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.FetchType; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 
import javax.persistence.OneToOne; 
import javax.persistence.Table; 

@Entity 
@Table(name = "USERS") 
public class User { 

    @Id 
    @Column(name = "ID") 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 

    @Column(name = "USER_NAME") 
    private String userName; 

    @OneToOne(mappedBy = "user", fetch = FetchType.LAZY) 
    private Cart cart; 

    public Long getId() { 
     return id; 
    } 

    public void setId(Long id) { 
     this.id = id; 
    } 

    public String getUserName() { 
     return userName; 
    } 

    public void setUserName(String userName) { 
     this.userName = userName; 
    } 

    public Cart getCart() { 
     return cart; 
    } 

    public void setCart(Cart cart) { 
     this.cart = cart; 
    } 

} 

カートエンティティ

import java.util.Set; 

import javax.persistence.CascadeType; 
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.FetchType; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 
import javax.persistence.JoinColumn; 
import javax.persistence.JoinTable; 
import javax.persistence.ManyToMany; 
import javax.persistence.OneToOne; 
import javax.persistence.Table; 

@Entity 
@Table(name = "CART") 
public class Cart { 

    @Id 
    @Column(name = "ID") 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 

    @OneToOne(fetch = FetchType.LAZY, cascade = CascadeType.ALL) 
    @JoinColumn(name = "USER_ID") 
    private User user; 

    @ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) 
    @JoinTable(name = "CART_PRODUCT", joinColumns = @JoinColumn(name = "CART_ID") , inverseJoinColumns = @JoinColumn(name = "PRODUCT_ID")) 
    private Set<Product> products; 

    public Long getId() { 
     return id; 
    } 

    public void setId(Long id) { 
     this.id = id; 
    } 

    public User getUser() { 
     return user; 
    } 

    public void setUser(User user) { 
     this.user = user; 
    } 

    public Set<Product> getProducts() { 
     return products; 
    } 

    public void setProducts(Set<Product> products) { 
     this.products = products; 
    } 

} 

Productエンティティ

import java.util.Set; 

import javax.persistence.CascadeType; 
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 
import javax.persistence.ManyToMany; 
import javax.persistence.Table; 

@Entity 
@Table(name = "PRODUCT") 
public class Product { 

    @Id 
    @Column(name = "ID") 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 

    @Column(name = "name") 
    private String productName; 

    @ManyToMany(cascade = CascadeType.ALL, mappedBy = "products") 
    private Set<Cart> carts; 

    public Long getId() { 
     return id; 
    } 

    public void setId(Long id) { 
     this.id = id; 
    } 

    public String getProductName() { 
     return productName; 
    } 

    public void setProductName(String productName) { 
     this.productName = productName; 
    } 

    public Set<Cart> getCarts() { 
     return carts; 
    } 

    public void setCarts(Set<Cart> carts) { 
     this.carts = carts; 
    } 

} 
+0

私のqsを考慮するTq ...同じ考えを得ました – Mohanraj

+0

http://stackoverflow.com/questions/43217992 /覚醒のためにログインしているユーザーデータのデータをMVCおよび休止状態にする – Mohanraj

+0

http://stackoverflow.com/questions/43217992/how-to-retrive-logged-in-user-data -in-spring-mvc-and-hibernate – Mohanraj

関連する問題