我有两个实体Folder和Init具有OneToMany关系,当我添加一个文件夹时,我想设置init并将其保存在DB中..但是当我发送表单时,我在我的sclipse控制台中得到了这个错误(JAVA) )
16:24:34,153 ERROR [org.jboss.resteasy.resteasy_jaxrs.i18n] (default task-18) RESTEASY002005: Failed executing POST /folders/saveFolders: org.jboss.resteasy.spi.ReaderException: com.fasterxml.jackson.databind.JsonMappingException: Can not deserialize instance of business.entities.folders.Init out of START_ARRAY token
at [Source: io.undertow.servlet.spec.ServletInputStreamImpl@2cff0c8; line: 13, column: 16] (through reference chain: business.entities.folders.Folders["initiator"])
at org.jboss.resteasy.core.MessageBodyParameterInjector.inject(MessageBodyParameterInjector.java:184)
at org.jboss.resteasy.core.MethodInjectorImpl.injectArguments(MethodInjectorImpl.java:91)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:114)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:295)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:249)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:236)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:402)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:209)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:221)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
Folder.java
@Id
@Column(name = "ID")
private Long id;
@Column(name = "NOFOLDER")
private String noFolder;
/** Getter + setter **/
Init.java
@Id
@Column(name = "ID")
private Long id;
@Column(name = "NAME")
private String name;
@Column(name = "SURNAME")
@OneToMany(fetch=FetchType.EAGER, cascade={CascadeType.PERSIST})
@JoinColumn(name = "INIT", referencedColumnName = "ID")
private List<Folders> folders = new ArrayList<Folders>();
/* Getter Setter */
在我的角度中,我为发送表单执行此操作: 的 folder.html
<label>No Folder :</label>
<div class="col-sm-4">
<input [(ngModel)]="noFolder" name="noFolder" type="text">
</div>
<div class="col-sm-4">
<input [(ngModel)]="initiator.name" name="name" type="text">
</div>
<div class="col-sm-4">
<input [(ngModel)]="initiator.surname" name="surname" type="text">
</div>
<button type="button" (click)="saveFolder()">SUBMIT</button>
folder.ts
folder;
initiator;
saveFolder() {
this.folder.noFolder = noFolder;
this.folder.initiator = this.initiator;
this.folderService.saveFold(this.folder).subscribe(
data => {
},
error => {
});
}