Недопустимое свойство 'id' класса бина. Не удалось найти поле для свойства во время резервного доступа. - PullRequest
0 голосов
/ 15 февраля 2019

Ниже мой Контроллер

  @PostMapping(value="/shoppingcart")
  ResponseEntity<ResponseDTO<ShoppingCartItem>>
  insertItems(@RequestParam("cartId")Long cartId, @RequestParam ("itemsKey")
  Long itemkey) {

  ResponseDTO<ShoppingCartItem> responseDTO = new ResponseDTO<>(); 
  Meta meta = new Meta(); 

  ShoppingCartItem cartItem = null; 
  ShoppingCartItem saveItem = new ShoppingCartItem();

  ShoppingCart cart = new ShoppingCart();
  cart.setId(cartId);
  Items item = new Items();
  item.setId(itemkey);

  saveItem.setCart(cart);
  saveItem.setItem(item);

  cartItem = shoppingCartItemService.save(saveItem); 
  return new ResponseEntity<ResponseDTO<ShoppingCartItem>>(responseDTO, HttpStatus.OK);

  }

Это мой Класс сущности:

@Entity
@Table(name = "tb_shoppingcart_items")
public class ShoppingCartItem implements Serializable {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long cartItemId; 
@ManyToOne
@MapsId("shoppingcartId")
private ShoppingCart cart;

@ManyToOne
@MapsId("itemsId")
private Items item;

@Column(name = "quantity")
private boolean quantity;

public Long getCartItemId() {
    return cartItemId;
}

public void setCartItemId(Long cartItemId) {
    this.cartItemId = cartItemId;
}

public ShoppingCart getCart() {
    return cart;
}

public void setCart(ShoppingCart cart) {
    this.cart = cart;
}

public Items getItem() {
    return item;
}

public void setItem(Items item) {
    this.item = item;
}

public boolean isQuantity() {
    return quantity;
}

public void setQuantity(boolean quantity) {
    this.quantity = quantity;
}

}

@Entity
@Table(name = "tb_shoppingcart")
public class ShoppingCart implements Serializable {

/**
 * 
 */
private static final long serialVersionUID = -2114870327410506836L;

@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;

@Column(name = "dateCreated")
private Date datecreated;

/*
 * @JsonIgnore
 * 
 * @OneToMany(cascade = CascadeType.ALL, orphanRemoval = true) List<Items> items
 * = new ArrayList<>();
 */


public Long getId() {
    return id;
}

public void setId(Long id) {
    this.id = id;
}

public Date getDatecreated() {
    return datecreated;
}

public void setDatecreated(Date datecreated) {
    this.datecreated = datecreated;
}

/*
 * public List<Items> getItems() { return items; }
 * 
 * public void setItems(List<Items> items) { this.items = items; }
 */

}

Яполучить следующее исключение при сохранении моего shoppingcartItem в базе данных:

ОШИБКА [http-nio-8090-exec-2] org.apache.juli.logging.DirectJDKLog: Servlet.service () для servlet [dispatcherServlet]в контексте с путем [] выдало исключение [Ошибка обработки запроса;вложенным исключением является org.springframework.beans.NotReadablePropertyException: недопустимое свойство 'id' класса бина [com.epam.item.model.ShoppingCartItem]: не удалось найти поле для свойства во время резервного доступа!] с коренной причиной org.springframework.beans.NotReadablePropertyException: недопустимое свойство 'id' класса бина [com.epam.item.model.ShoppingCartItem]: не удалось найти поле для свойства во время резервного доступа!по адресу org.springframework.data.util.DirectFieldAccessFallbackBeanWrapper.getPropertyValue (DirectFieldAccessFallbackBeanWrapper.java:58) по адресу org.springframework.data.jpa.repository.support.JpaMetamodelEata.core.support.AbstractEntityInformation.isNew (AbstractEntityInformation.java:42) в org.springframework.data.jpa.repository.support..SimpleJpaRepository.save (SimpleJpaRepository.java:488) в sun.reflect.NativeMethodAccessorImpl.invoke0 (родной метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java.Impor.Impit.: 43) в java.lang.reflect.Method.invoke (Method.java:498) в org.springframework.data.repository.core.support.RepositoryComposition $ RepositoryFragments.invoke (RepositoryComposition.java:359) в org.springframework.data.repository.core.support.RepositoryComposition.invoke (RepositoryComposition.java:200) в org.springframework.data.repository.core.support.RepositoryFactoryTort для подпорка.Java: 644) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:186) в org.springframework.data.repository.core.support.RepositoryFactorySupportMeditionFort.OuGor.springframework.) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:186) в org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke (DefaultMethodInvokingMethodInterceptor.java:59) при org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:186) в org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction (TransactionAspectSupport.java: 294) в org.springframework.transaction.interceptor.TransactionInterceptor.invoke (TransactionInterceptor.java:98) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodIng..PersistenceExceptionTranslationInterceptor.invoke (PersistenceExceptionTranslationInterceptor.java:139) в org.springframework.aop.framework.ReflectiveMethodInvocation.proceed (ReflectiveMethodInvocation.java:186) в org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor $ CrudMethodMetadataPopulatingMethodInterceptor.invoke (CrudMethodMetadataPostProcessor.java: 135)в org.springframework.aop.framework.(ReflectiveMethodInvocation.java:186) по адресу org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke (SurroundingTransactionDetectorMethodInterceptor.javaorg.springframework.aop.framework.JdkDynamicAopProxy.invoke (JdkDynamicAopProxy.java:212) по адресу com.sun.proxy.Java: 19) в com.epam.item.controller.ItemController.insertItems (ItemController.java:180) в sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод) в sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62) в sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43) в java.lang.reflect.Method.web.jp..support.InvocableHandlerMethod..invokeAndHandle (ServletInvocableHandlerMethod.java:102) по адресу org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod (RequestMappingHandlerAdapter.hoing.homent.hoterh.handleInternal (RequestMappingHandlerAdapter.java:800) в org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle (AbstractHandlerMethodAdapter.java:87) в org.springframework.web.servlet.DispatcherServlet.doDispatch (DispatcherServlet.java:1038) в org.springframework.web.servlet.DispatcherServlet.doService (DispatcherServlet.java:942) в org.springframework.web.server.jerv.1005) по адресу org.springframework.web.servlet.FrameworkServlet.doPost (FrameworkServlet.java:908) по адресу javax.servlet.http.HttpServlet.service (HttpServlet.java:660) по адресу org.springframeworkerFletwork.vme.serb.(FrameworkServlet.java:882) по адресу javax.servlet.http.HttpServlet.service (HttpServlet.java:741) по адресу org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:2ache.cat или org.cat) или в приложении.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) в org.apache.tomcat.websocket.server.WsFilter.doFilter (WsFilter.java:53) в org.apache.catalina.core.ApplicationFilterFilinChain.193) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) в org.springframework.web.filter.RequestContextFilter.doFilterInternal (RequestContextFilter.java:99) в org.springframework.web.filter.OncePerRequestFilter.doFilter (OnceaperRej) в org..core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) в org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) в org.springframework.web.filtentFterterF (.doFilter (ApplicationFilterChain.java:166)по адресу org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal (HiddenHttpMethodFilter.java:93) по адресу org.springframework.web.filter.OncePerRequestFilter.doFilter.doFilter.FainterFainterFileter(ApplicationFilterChain.java:193) по адресу org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:166) по адресу org.springframework.web.filter.CharacterEncodingFilter.doFilterInworkf.web.filter.OncePerRequestFilter.doFilter (OncePerRequestFilter.java:107) в org.apache.catalina.core.ApplicationFilterChain.internalDoFilter (ApplicationFilterChain.java:193) в org.apache.catha166) в org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:199) в org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:96) в org.apachentic.catилив org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:74) в org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:343) в org.apache.coyote.hserp11orHor(Http11Processor.java:408) в org.apache.coyote.AbstractProcessorLight.process (AbstractProcessorLight.java:66) в org.apache.coyote.AbstractProtocol $ ConnectionHandler.process (AbstractProtocol.java:791) в org.apache.tomcat.util.net.NioEndpoint $ SocketProcessor.doRun (NioEndpoint.java:1417) в org.apache.tomcat.util.net.SocketProcessorBase.run (SocketProcessorBase.java:49) в java.util.concurrent.ThreadPoolExecutor.RunWorkerJava: 1149) в java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:624) в org.apache.tomcat.util.threads.TaskThread $ WrappingRunnable.run (TaskThread.java:61) в java.lang.Thread.run (Thread.java:748)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...