每当我使用 cartRepository.save(cart( 用户再次插入用户表中时?(购物车有一个字段用户(。
如何不再保存用户?
用户类:
@Entity
@Table(name="users")
public class Users {
@Id
@GeneratedValue
private int id;
@Column(name="nameofuser")
//@UniqueElements
private String nameofuser;
@Column(name="password")
private String password;
@OneToOne(mappedBy="user",cascade = {CascadeType.ALL})
Cart cart;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getNameofuser() {
return nameofuser;
}
public void setNameofuser(String nameofuser) {
this.nameofuser = nameofuser;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
购物车实体:
@Entity
@Table(name="cart")
public class Cart {
@Id
@GeneratedValue
@Column(name="id")
int id;
@OneToOne(cascade = CascadeType.ALL)
Users user;
public Users getUser() {
return user;
}
public void setUser(Users user) {
this.user = user;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
}
购物车服务类别:
package com.praful.lastTry.Services;
import javax.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.praful.lastTry.MenuRepository.CartRepository;
import com.praful.lastTry.Models.Cart;
import com.praful.lastTry.Models.Users;
@Service
public class CartService {
@Autowired CartRepository cartRepository;
public void bindingWithUser(Users user) {
Cart cart=new Cart();
Users user1=new Users();
cart.setUser(user1);
System.out.println(" from here==================================");
cartRepository.save(cart);
System.out.println("till here ==================================");
}
}
每当我使用 cartRepository.save(cart( 用户再次插入用户表中
由于此代码:
Users user1=new Users();
每次发送新用户时。
将其更改为:
public void bindingWithUser(Users user) {
Cart cart=new Cart();
Users user1= getUser();
cart.setUser(user1);
System.out.println(" from here==================================");
cartRepository.save(cart);
System.out.println("till here ==================================");
}
private Users getUser(){
//return logged in user or your logic to get user which is already there in Database
}
似乎在bindingWithUser
函数中传递了一个User
对象user
但在函数内部,您正在初始化一个新的User
对象user1
并将其设置为cart
对象,然后再保存它