sách gpt4 ăn đã đi

java - tham chiếu thuộc tính không null giá trị nhất thời - phiên bản tạm thời phải được lưu trước thao tác hiện tại

In lại Tác giả: IT Lão Cao Thời gian cập nhật: 28-10-2023 12:48:31 26 4
mua khóa gpt4 giày nike

Tôi có 2 mô hình miền và Bộ điều khiển Spring REST như dưới đây:

@Thực thể
lớp công khai Khách hàng{

@Nhận dạng
private Long id;

@OneToOne(lấy = FetchType.EAGER)
@JoinColumn(tên="COUNTRY_ID", có thể null=false)
đất nước riêng tư đất nước;

// những thứ khác với getter/setter

}

@Thực thể
lớp công khai Quốc gia{

@Nhận dạng
@Column(tên="COUNTRY_ID")
số nguyên riêng tư id;

// những thứ khác với getter/setter

}

Bộ điều khiển Spring REST:

@Bộ điều khiển
@RequestMapping("/cửa hàng/dịch vụ/khách hàng")
lớp công khai CustomerRESTController {

/**
* Tạo khách hàng mới
*/
@RequestMapping(phương thức=RequestMethod.POST)
@ResponseStatus(HttpStatus. ĐÃ TẠO)
@Phản hồi cơ thể
public com.salesmanager.web.entity.customer.Customer createCustomer(@Valid @RequestBody Khách hàng khách hàng, Mô hình mô hình, yêu cầu HttpServletRequest, phản hồi HttpServletResponse) ném Ngoại lệ {

customerService.saveOrUpdate(khách hàng);

khách hàng quay lại;
}

// những thứ khác
}

Tôi đang cố gắng gọi dịch vụ REST ở trên bằng cách sử dụng JSON sau đây làm nội dung:

{
"tên": "Tapas",
"họ": "Jena",
"thành phố": "Hyderabad",
"quốc gia": "1"
}

Mã quốc gia 1 đã có trong bảng quốc gia. Vấn đề là khi tôi gọi dịch vụ này, tôi gặp lỗi sau:

org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.TransientPropertyValueException: Thuộc tính không null tham chiếu đến giá trị tạm thời - phiên bản tạm thời phải được lưu trước thao tác hiện tại: com.test.model.Customer.country -> com.test.model.Country; ngoại lệ lồng nhau là java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: Thuộc tính không null tham chiếu đến giá trị tạm thời - phiên bản tạm thời phải được lưu trước thao tác hiện tại: com.test.model.Customer.country -> com.test.model.Country

Bất kỳ trợ giúp sẽ được đánh giá rất cao!

câu trả lời hay nhất

Hãy thử đặt CascadeType.ALL

@OneToOne(lấy = FetchType.EAGER,cascade=CascadeType.ALL)
@JoinColumn(tên="COUNTRY_ID", có thể null=false)

đất nước riêng tư đất nước;

Về java - thuộc tính non-null tham chiếu các giá trị nhất thời - các phiên bản tạm thời phải được lưu trước thao tác hiện tại, chúng tôi tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/19074278/

26 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress