这是我的实体类
@Entity
@Data
@Table(name = "wishlist")
public class Wishlist {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@OneToOne(targetEntity = Customer.class, fetch = FetchType.EAGER)
@JoinColumn(nullable = false,name = "customer_id")
private Customer customer;
@Column(name = "created_date")
private Date createdDate;
@ManyToOne
@JoinColumn(name = "product_id")
private Products product;
public Wishlist(Customer customer, Products product) {
this.customer = customer;
this.createdDate = new Date();
this.product = product;
}
public Wishlist() {
}
}
这是我的存储库
public interface WishlistRepository extends JpaRepository<Wishlist, Integer> {
List<Wishlist> findAllByCustomerIdOrderByCreatedDateDesc(Integer customerId);
Optional<Wishlist> findByProductId(Integer productId);
}
这是我的服务图层
@Service
@Transactional
public class WishlistServiceImpl implements WishlistService{
@Autowired
WishlistRepository wishlistRepo;
@Override
public void createWishlist(Wishlist wishlist,Integer productId) throws ProductNotExistsException {
Optional<Wishlist> optionalProduct = wishlistRepo.findByProductId(productId);
System.out.println(optionalProduct)
}
}
因此,我试图检查该产品是否出现在我的愿望清单或没有使用产品ID。
但得到的错误:
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed; nested exception is java.lang.StackOverflowError] with root cause
java.lang.StackOverflowError: null
at java.base/java.lang.AbstractStringBuilder.putStringAt(AbstractStringBuilder.java:1720) ~[na:na]
at java.base/java.lang.AbstractStringBuilder.putStringAt(AbstractStringBuilder.java:1724) ~[na:na]
at java.base/java.lang.AbstractStringBuilder.append(AbstractStringBuilder.java:583) ~[na:na]
at java.base/java.lang.StringBuilder.append(StringBuilder.java:175) ~[na:na]
at java.base/java.lang.StringBuilder.append(StringBuilder.java:87) ~[na:na]
at java.base/java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:112) ~[na:na]
at java.base/java.lang.StringBuilder.<init>(StringBuilder.java:127) ~[na:na]
at com.ecommerce.entity.Customer.toString(Customer.java:29) ~[classes/:na]
那么如何解决这个问题呢?
1条答案
按热度按时间kd3sttzy1#
可能是循环依赖性的问题。
尝试添加以下注解:
或者尝试覆盖toString实现。