OrderItem.java
package com.ctrlbuy.webshop.model;
import lombok.Getter;
import lombok.Setter;
import jakarta.persistence.*;
@Entity
@Table(name = "order_items")
@Getter
@Setter
public class OrderItem {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "order_id")
private Order order;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "product_id")
private Product product;
@Column(nullable = false)
private Integer quantity;
@Column(nullable = false)
private Double price;
@Column(nullable = false)
private String productName;
// Constructors
public OrderItem() {}
public OrderItem(Order order, Product product, Integer quantity, Double price) {
this.order = order;
this.product = product;
this.quantity = quantity;
this.price = price;
this.productName = product.getName();
}
// Helper methods
public Double getTotalPrice() {
return price * quantity;
}
}