【发布时间】:2026-02-17 14:45:02
【问题描述】:
我尝试使用 for 循环将多个数据保存到数据库,但数据库只显示最后一个值。我不知道哪一部分是错误的。
这是我的模特
@Entity
@Table(name="receipt_details")
public class ReceiptDetails {
@Id
@Column(name="id")
private int id;
@Column(name="ordered_food")
private String ordered_food;
@Column(name="quantity")
private int quantity;
@Column(name="price")
private double price;
存储库
import org.springframework.data.jpa.repository.JpaRepository;
import com.example.fyp6.model.ReceiptDetails;
public interface ReceiptDetailsRepository extends JpaRepository<ReceiptDetails, Integer> {
}
服务
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.example.fyp6.model.ReceiptDetails;
import com.example.fyp6.repo.ReceiptDetailsRepository;
@Service
public class ReceiptDetailsServiceImpl implements ReceiptDetailsService {
@Autowired
private ReceiptDetailsRepository receiptDetailsRepo;
@Override
public ReceiptDetails save(ReceiptDetails receiptDetails) {
return receiptDetailsRepo.save(receiptDetails);
}
}
控制器
//Save invoice details
List<Item> cart = (List<Item>) session.getAttribute("cart");
for(Item item : cart) {
ReceiptDetails receiptDetails = new ReceiptDetails();
receiptDetails.setId(receipt.getReceipt_id());
receiptDetails.setPrice(item.getFood().getFood_price());
receiptDetails.setQuantity(item.getQuantity());
receiptDetails.setOrdered_food(item.getFood().getFood_name());
receiptDetailsService.save(receiptDetails);
}
我不知道哪一部分是错误的。
【问题讨论】: