Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JPA实体解析错误_Java_Web Services_Jpa_Jax Ws - Fatal编程技术网

Java JPA实体解析错误

Java JPA实体解析错误,java,web-services,jpa,jax-ws,Java,Web Services,Jpa,Jax Ws,自从将我的JavaFX项目转换为Maven项目以来,我再也无法访问实体BenutzerKonversation。我还收到一条错误消息,当有2个或更多主键时,需要注释@IdClass。在添加注释并创建所需的类BenutzerKonversationId之后,我得到了一个ParseError 经过几次测试,我可以肯定地说它与实体BenutzerKonversation有关。我的实体是WebService(JAX-WS)的一部分。返回实体时,会发生ParseError。返回前实体的输出正确且包含预期值

自从将我的JavaFX项目转换为Maven项目以来,我再也无法访问实体
BenutzerKonversation
。我还收到一条错误消息,当有2个或更多主键时,需要注释
@IdClass
。在添加注释并创建所需的类
BenutzerKonversationId
之后,我得到了一个
ParseError

经过几次测试,我可以肯定地说它与实体
BenutzerKonversation
有关。我的实体是WebService(JAX-WS)的一部分。返回实体时,会发生
ParseError
。返回前实体的输出正确且包含预期值

启动Web服务时,我还注意到以下SQL警告消息:

SQL警告:

Internal Exception:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table 'benutzer' already exists
Error Code: 1050 
Call: CREATE TABLE BENUTZER (id INTEGER NOT NULL, nachname VARCHAR(255), prueferNr INTEGER, status INTEGER, vorname VARCHAR(255), PRIMARY KEY (id)) 
Query: DataModifyQuery(sql="CREATE TABLE BENUTZER (id INTEGER NOT NULL, nachname VARCHAR(255), prueferNr INTEGER, status INTEGER, vorname VARCHAR(255), PRIMARY KEY (id))")
  <class>entity.Benutzer</class>
  <class>entity.Konversation</class>
  <class>entity.BenutzerKonversation</class>

  <properties>
     <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/projekt8592Db"/>
     <property name="javax.persistence.jdbc.user" value="root"/>
     <property name="javax.persistence.jdbc.password" value=""/>
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
     <property name="eclipselink.logging.level" value="FINE"/>
     <property name="eclipselink.ddl-generation" value="create-or-extend-tables"/>
  </properties>
javafx.fxml.LoadException:/...Path...View.fxml:13
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
at application.Main.start(Main.java:14)
at 

com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.sun.xml.internal.ws.encoding.soap.DeserializationException: [failed to localize] Die Antwort konnte nicht deserialisiert werden.(javax.xml.bind.UnmarshalException
 - with linked exception:
[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.])
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:111)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)
    at com.sun.proxy.$Proxy38.getUserById(Unknown Source)
    at launch.CClient.<init>(CClient.java:28)
    at application.Controller.<init>(Controller.java:62)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51)
    at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:927)
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)
    at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)
    at  javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
    ... 17 more
    Caused by: javax.xml.bind.UnmarshalException
     - with linked exception:
    [javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
    Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.]
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:470)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:402)
        at com.sun.xml.internal.bind.v2.runtime.BridgeImpl.unmarshal(BridgeImpl.java:109)
        at com.sun.xml.internal.bind.api.Bridge.unmarshal(Bridge.java:222)
        at com.sun.xml.internal.ws.db.glassfish.BridgeWrapper.unmarshal(BridgeWrapper.java:257)
    at com.sun.xml.internal.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:635)
    at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:243)
    at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:189)
    at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:276)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:104)
    ... 34 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.
    at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:596)
    at com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:81)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:181)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:400)
    ... 42 more
@Entity
    @Table(name="benutzer_konversation") 
    @IdClass(BenutzerKonversationId.class)
    @NamedQueries({
        @NamedQuery(
                name="BenutzerKonversation.findAll",
                query="SELECT bk FROM BenutzerKonversation bk"
        )
    })

public class BenutzerKonversation {

    @Id
    private int benutzer_id;

    @Id
    private int konversation_id;

    @ManyToOne(cascade=CascadeType.ALL)
    @JoinColumn(name = "benutzer_id",nullable=false, updatable = false, insertable = false)
    private Benutzer benutzer;

    @ManyToOne(cascade=CascadeType.ALL)
    @JoinColumn(name = "konversation_id",nullable=false, updatable = false, insertable = false)
    private Konversation konversation;

    @Column(name="status",nullable=false,updatable=true,insertable=true)
    private int status;
}
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body><ns2:getUserByIdResponse xmlns:ns2="http://webservice/">
<return><konversationen><benutzer
Persistence.xml:

Internal Exception:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table 'benutzer' already exists
Error Code: 1050 
Call: CREATE TABLE BENUTZER (id INTEGER NOT NULL, nachname VARCHAR(255), prueferNr INTEGER, status INTEGER, vorname VARCHAR(255), PRIMARY KEY (id)) 
Query: DataModifyQuery(sql="CREATE TABLE BENUTZER (id INTEGER NOT NULL, nachname VARCHAR(255), prueferNr INTEGER, status INTEGER, vorname VARCHAR(255), PRIMARY KEY (id))")
  <class>entity.Benutzer</class>
  <class>entity.Konversation</class>
  <class>entity.BenutzerKonversation</class>

  <properties>
     <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/projekt8592Db"/>
     <property name="javax.persistence.jdbc.user" value="root"/>
     <property name="javax.persistence.jdbc.password" value=""/>
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
     <property name="eclipselink.logging.level" value="FINE"/>
     <property name="eclipselink.ddl-generation" value="create-or-extend-tables"/>
  </properties>
javafx.fxml.LoadException:/...Path...View.fxml:13
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
at application.Main.start(Main.java:14)
at 

com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.sun.xml.internal.ws.encoding.soap.DeserializationException: [failed to localize] Die Antwort konnte nicht deserialisiert werden.(javax.xml.bind.UnmarshalException
 - with linked exception:
[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.])
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:111)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)
    at com.sun.proxy.$Proxy38.getUserById(Unknown Source)
    at launch.CClient.<init>(CClient.java:28)
    at application.Controller.<init>(Controller.java:62)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51)
    at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:927)
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)
    at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)
    at  javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
    ... 17 more
    Caused by: javax.xml.bind.UnmarshalException
     - with linked exception:
    [javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
    Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.]
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:470)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:402)
        at com.sun.xml.internal.bind.v2.runtime.BridgeImpl.unmarshal(BridgeImpl.java:109)
        at com.sun.xml.internal.bind.api.Bridge.unmarshal(Bridge.java:222)
        at com.sun.xml.internal.ws.db.glassfish.BridgeWrapper.unmarshal(BridgeWrapper.java:257)
    at com.sun.xml.internal.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:635)
    at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:243)
    at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:189)
    at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:276)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:104)
    ... 34 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.
    at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:596)
    at com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:81)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:181)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:400)
    ... 42 more
@Entity
    @Table(name="benutzer_konversation") 
    @IdClass(BenutzerKonversationId.class)
    @NamedQueries({
        @NamedQuery(
                name="BenutzerKonversation.findAll",
                query="SELECT bk FROM BenutzerKonversation bk"
        )
    })

public class BenutzerKonversation {

    @Id
    private int benutzer_id;

    @Id
    private int konversation_id;

    @ManyToOne(cascade=CascadeType.ALL)
    @JoinColumn(name = "benutzer_id",nullable=false, updatable = false, insertable = false)
    private Benutzer benutzer;

    @ManyToOne(cascade=CascadeType.ALL)
    @JoinColumn(name = "konversation_id",nullable=false, updatable = false, insertable = false)
    private Konversation konversation;

    @Column(name="status",nullable=false,updatable=true,insertable=true)
    private int status;
}
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body><ns2:getUserByIdResponse xmlns:ns2="http://webservice/">
<return><konversationen><benutzer
BenutzerKonversation(多对多实体):

Internal Exception:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table 'benutzer' already exists
Error Code: 1050 
Call: CREATE TABLE BENUTZER (id INTEGER NOT NULL, nachname VARCHAR(255), prueferNr INTEGER, status INTEGER, vorname VARCHAR(255), PRIMARY KEY (id)) 
Query: DataModifyQuery(sql="CREATE TABLE BENUTZER (id INTEGER NOT NULL, nachname VARCHAR(255), prueferNr INTEGER, status INTEGER, vorname VARCHAR(255), PRIMARY KEY (id))")
  <class>entity.Benutzer</class>
  <class>entity.Konversation</class>
  <class>entity.BenutzerKonversation</class>

  <properties>
     <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/projekt8592Db"/>
     <property name="javax.persistence.jdbc.user" value="root"/>
     <property name="javax.persistence.jdbc.password" value=""/>
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
     <property name="eclipselink.logging.level" value="FINE"/>
     <property name="eclipselink.ddl-generation" value="create-or-extend-tables"/>
  </properties>
javafx.fxml.LoadException:/...Path...View.fxml:13
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
at application.Main.start(Main.java:14)
at 

com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.sun.xml.internal.ws.encoding.soap.DeserializationException: [failed to localize] Die Antwort konnte nicht deserialisiert werden.(javax.xml.bind.UnmarshalException
 - with linked exception:
[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.])
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:111)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)
    at com.sun.proxy.$Proxy38.getUserById(Unknown Source)
    at launch.CClient.<init>(CClient.java:28)
    at application.Controller.<init>(Controller.java:62)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51)
    at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:927)
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)
    at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)
    at  javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
    ... 17 more
    Caused by: javax.xml.bind.UnmarshalException
     - with linked exception:
    [javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
    Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.]
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:470)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:402)
        at com.sun.xml.internal.bind.v2.runtime.BridgeImpl.unmarshal(BridgeImpl.java:109)
        at com.sun.xml.internal.bind.api.Bridge.unmarshal(Bridge.java:222)
        at com.sun.xml.internal.ws.db.glassfish.BridgeWrapper.unmarshal(BridgeWrapper.java:257)
    at com.sun.xml.internal.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:635)
    at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:243)
    at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:189)
    at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:276)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:104)
    ... 34 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.
    at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:596)
    at com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:81)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:181)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:400)
    ... 42 more
@Entity
    @Table(name="benutzer_konversation") 
    @IdClass(BenutzerKonversationId.class)
    @NamedQueries({
        @NamedQuery(
                name="BenutzerKonversation.findAll",
                query="SELECT bk FROM BenutzerKonversation bk"
        )
    })

public class BenutzerKonversation {

    @Id
    private int benutzer_id;

    @Id
    private int konversation_id;

    @ManyToOne(cascade=CascadeType.ALL)
    @JoinColumn(name = "benutzer_id",nullable=false, updatable = false, insertable = false)
    private Benutzer benutzer;

    @ManyToOne(cascade=CascadeType.ALL)
    @JoinColumn(name = "konversation_id",nullable=false, updatable = false, insertable = false)
    private Konversation konversation;

    @Column(name="status",nullable=false,updatable=true,insertable=true)
    private int status;
}
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body><ns2:getUserByIdResponse xmlns:ns2="http://webservice/">
<return><konversationen><benutzer
Benutzer(实体)

@OneToMany(mappedBy=“benutzer”,cascade=CascadeType.PERSIST)
private List konversationen=new ArrayList();
Konversation(实体)

@OneToMany(mappedBy=“konversation”,cascade=CascadeType.PERSIST)
私人名单贝努策;
SOAP用户界面响应:

Internal Exception:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:Table 'benutzer' already exists
Error Code: 1050 
Call: CREATE TABLE BENUTZER (id INTEGER NOT NULL, nachname VARCHAR(255), prueferNr INTEGER, status INTEGER, vorname VARCHAR(255), PRIMARY KEY (id)) 
Query: DataModifyQuery(sql="CREATE TABLE BENUTZER (id INTEGER NOT NULL, nachname VARCHAR(255), prueferNr INTEGER, status INTEGER, vorname VARCHAR(255), PRIMARY KEY (id))")
  <class>entity.Benutzer</class>
  <class>entity.Konversation</class>
  <class>entity.BenutzerKonversation</class>

  <properties>
     <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/projekt8592Db"/>
     <property name="javax.persistence.jdbc.user" value="root"/>
     <property name="javax.persistence.jdbc.password" value=""/>
     <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
     <property name="eclipselink.logging.level" value="FINE"/>
     <property name="eclipselink.ddl-generation" value="create-or-extend-tables"/>
  </properties>
javafx.fxml.LoadException:/...Path...View.fxml:13
at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2579)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124)
at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104)
at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097)
at application.Main.start(Main.java:14)
at 

com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
    at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
    at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
    at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
    at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
    at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
    at java.lang.Thread.run(Thread.java:745)
Caused by: com.sun.xml.internal.ws.encoding.soap.DeserializationException: [failed to localize] Die Antwort konnte nicht deserialisiert werden.(javax.xml.bind.UnmarshalException
 - with linked exception:
[javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.])
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:111)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77)
    at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147)
    at com.sun.proxy.$Proxy38.getUserById(Unknown Source)
    at launch.CClient.<init>(CClient.java:28)
    at application.Controller.<init>(Controller.java:62)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at java.lang.Class.newInstance(Class.java:442)
    at sun.reflect.misc.ReflectUtil.newInstance(ReflectUtil.java:51)
    at javafx.fxml.FXMLLoader$ValueElement.processAttribute(FXMLLoader.java:927)
    at javafx.fxml.FXMLLoader$InstanceDeclarationElement.processAttribute(FXMLLoader.java:971)
    at javafx.fxml.FXMLLoader$Element.processStartElement(FXMLLoader.java:220)
    at  javafx.fxml.FXMLLoader$ValueElement.processStartElement(FXMLLoader.java:744)
    at javafx.fxml.FXMLLoader.processStartElement(FXMLLoader.java:2707)
    at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2527)
    ... 17 more
    Caused by: javax.xml.bind.UnmarshalException
     - with linked exception:
    [javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
    Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.]
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(UnmarshallerImpl.java:470)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:402)
        at com.sun.xml.internal.bind.v2.runtime.BridgeImpl.unmarshal(BridgeImpl.java:109)
        at com.sun.xml.internal.bind.api.Bridge.unmarshal(Bridge.java:222)
        at com.sun.xml.internal.ws.db.glassfish.BridgeWrapper.unmarshal(BridgeWrapper.java:257)
    at com.sun.xml.internal.ws.client.sei.ResponseBuilder$DocLit.readResponse(ResponseBuilder.java:635)
    at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:243)
    at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:189)
    at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:276)
    at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:104)
    ... 34 more
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1,192]
Message: XML-Dokumentstrukturen müssen innerhalb derselben Entität beginnen und enden.
    at com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:596)
    at com.sun.xml.internal.ws.util.xml.XMLStreamReaderFilter.next(XMLStreamReaderFilter.java:81)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXStreamConnector.bridge(StAXStreamConnector.java:181)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(UnmarshallerImpl.java:400)
    ... 42 more
@Entity
    @Table(name="benutzer_konversation") 
    @IdClass(BenutzerKonversationId.class)
    @NamedQueries({
        @NamedQuery(
                name="BenutzerKonversation.findAll",
                query="SELECT bk FROM BenutzerKonversation bk"
        )
    })

public class BenutzerKonversation {

    @Id
    private int benutzer_id;

    @Id
    private int konversation_id;

    @ManyToOne(cascade=CascadeType.ALL)
    @JoinColumn(name = "benutzer_id",nullable=false, updatable = false, insertable = false)
    private Benutzer benutzer;

    @ManyToOne(cascade=CascadeType.ALL)
    @JoinColumn(name = "konversation_id",nullable=false, updatable = false, insertable = false)
    private Konversation konversation;

    @Column(name="status",nullable=false,updatable=true,insertable=true)
    private int status;
}
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body><ns2:getUserByIdResponse xmlns:ns2="http://webservice/">
<return><konversationen><benutzer


问题是,我的DTO(数据传输对象)不完整。我意识到,我设置了一个空的“BenutzerKonversation”列表,并试图将不完整的列表返回给客户,这就是问题出现的原因。

检查您的eclipselink版本?我使用此依赖项:
org.eclipse.persistence eclipselink 2.6.4
同时,我尝试了实体注释的一些附加属性,如
fetch=FetchType.EAGER
,但它没有解决问题,也没有添加DTO。