в некоторых случаях главный идентификатор равен нулю в БД, и когда я его получаю, он выдает системное исключение JPA. Так есть ли аннотации, которые помогли бы игнорировать нулевые значения. Метод вызвал исключение org.springframework.orm.jpa.JpaSystemException. получил его при попытке извлечь детали из базы данных.
package com.merchant.orderDahsBoard.controller;
@RestController
@RequestMapping(value = "Dashboard")
public class OrderDashboardController {
@Autowired
private DashBoardService service;
ObjectMapper mapper = new ObjectMapper();
private static final Logger log = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
@PostMapping(value = "/getOrderDetails")
public OrderResponse getOrder(@PathParam(value = "id") Long id) {
OrderResponse response = new OrderResponse();
List<OrderMapping> orderMapping;
Sale sale= new Sale();
Purchase purchase = new Purchase();
long saleId = 0;
long purchaseId = 0;
try{
orderMapping = service.getOrderMapping(id);
response.setOrderMapping(orderMapping);
if (orderMapping != null) {
for (OrderMapping order : orderMapping) {
switch (order.getORDERTYPE()) {
case CART:
break;
case SALE:
saleId = order.getORDERID();
break;
case PURCHASE:
purchaseId = order.getORDERID();
break;
}
}
if(saleId!=0){
sale = service.getSale(saleId);
response.setSale(sale);
}
}
}
catch(Exception e){
log.error("Exception occured "+e);
}
return response;
}
}
ниже приведен класс @Entity, используемый в моем проекте
@Entity
@Table(name = "ORDERMAPPING")
@Getter
@Setter
@ToString
public class OrderMapping {
@Id
@Column(name = "ORDERMAPPINGID")
private long ORDERMAPPINGID;
@Column(name = "MASTERID")
private long MASTERID;
@Column(name = "ORDERID")
private long ORDERID;
@Enumerated(EnumType.ORDINAL)
private OrderTypeEnum ORDERTYPE;
@Column(name = "ADDEDDATE")
private String ADDEDDATE;
@Column(name = "LASTUPDATEDDATE")
private String LASTUPDATEDDATE;
@Column(name = "CARTID")
private long CARTID;
@Column(name = "PCARTID")
private long PCARTID;
}