Auf Thema antworten

Hallo


Was meinst du denn genau mit Query?


Wegen der Fehlersuche habe ich den Code soweit ausgeklammert, dass ich weder von der Datenbank auslese, noch etwas in sie reinschreibe. Es sind nur die beiden obigen Zeilen noch aktiv.


Hier die komplette Fehlermeldung:

[code]<openjpa-1.0.2-r420667:627158 nonfatal general error> org.apache.openjpa.persistence.PersistenceException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'TYPE = innodb' at line 1 {stmnt 1515663427 CREATE TABLE OPENJPA_SEQUENCE_TABLE (ID TINYINT NOT NULL, SEQUENCE_VALUE BIGINT, PRIMARY KEY (ID)) TYPE = innodb} [code=1064, state=42000]

    org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:549)

    org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:449)

    org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:170)

    org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:130)

    org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:188)

    org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)

    org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)

    org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)

    org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)

    project.servlets.Startseite.handleRequest(Startseite.java:29)

    project.servlets.Startseite.doGet(Startseite.java:63)

    javax.servlet.http.HttpServlet.service(HttpServlet.java:620)

    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

root cause


org.apache.openjpa.lib.jdbc.ReportingSQLException: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'TYPE = innodb' at line 1 {stmnt 1515663427 CREATE TABLE OPENJPA_SEQUENCE_TABLE (ID TINYINT NOT NULL, SEQUENCE_VALUE BIGINT, PRIMARY KEY (ID)) TYPE = innodb} [code=1064, state=42000]

    org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.wrap(LoggingConnectionDecorator.java:192)

    org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator.access$800(LoggingConnectionDecorator.java:57)

    org.apache.openjpa.lib.jdbc.LoggingConnectionDecorator$LoggingConnection$LoggingStatement.executeUpdate(LoggingConnectionDecorator.java:754)

    org.apache.openjpa.lib.jdbc.DelegatingStatement.executeUpdate(DelegatingStatement.java:114)

    org.apache.openjpa.jdbc.schema.SchemaTool.executeSQL(SchemaTool.java:1185)

    org.apache.openjpa.jdbc.schema.SchemaTool.createTable(SchemaTool.java:949)

    org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:526)

    org.apache.openjpa.jdbc.schema.SchemaTool.add(SchemaTool.java:344)

    org.apache.openjpa.jdbc.schema.SchemaTool.run(SchemaTool.java:321)

    org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:497)

    org.apache.openjpa.jdbc.meta.MappingTool.record(MappingTool.java:449)

    org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.synchronizeMappings(JDBCBrokerFactory.java:170)

    org.apache.openjpa.jdbc.kernel.JDBCBrokerFactory.newBrokerImpl(JDBCBrokerFactory.java:130)

    org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:188)

    org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)

    org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)

    org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:145)

    org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)

    project.servlets.Startseite.handleRequest(Startseite.java:29)

    project.servlets.Startseite.doGet(Startseite.java:63)

    javax.servlet.http.HttpServlet.service(HttpServlet.java:620)

    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)[/code]


Und hier noch mein Code:


Entitätsklasse:

[code]package project.model;


import javax.persistence.*;


@Entity

@Table(name = "personeninfo")

public class Personeninfo {

  

    private long id;

    private String vorname;

    private String nachname;

    private String wohnort;

    private String hobby;

  

    public Personeninfo()

    {

      

    }

    public Personeninfo(int id, String vorname, String nachname, String wohnort, String hobby)

    {

        this.id = id;

        this.vorname = vorname;

        this.nachname = nachname;

        this.wohnort = wohnort;

        this.hobby = hobby;

    }

  

    @Id

    public void setId(long id)

    {

        this.id = id;

    }

    public long getId()

    {

        return id;

    }

  

    public void setVorname(String vorname)

    {

        this.vorname = vorname;

    }

    public String getVorname()

    {

        return vorname;

    }

  

    public void setNachname(String nachname)

    {

        this.nachname = nachname;

    }

    public String getNachname()

    {

        return nachname;

    }

  

    public void setWohnort(String wohnort)

    {

        this.wohnort = wohnort;

    }

    public String getWohnort()

    {

        return wohnort;

    }

  

    public void setHobby(String hobby)

    {

        this.hobby = hobby;

    }

    public String getHobby()

    {

        return hobby;

    }

  


}

[/code]


persistence.xml

[code]<?xml version="1.0" encoding="UTF-8"?>

<persistence xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0">

<persistence-unit name="webdev"

  transaction-type="RESOURCE_LOCAL">

  <provider>

   org.apache.openjpa.persistence.PersistenceProviderImpl

  </provider>

  

        <class>project.model.Personeninfo</class>

  

        <properties>

            <property name="openjpa.ConnectionURL" value="jdbc:mysql://host/webdev?characterEncoding=UTF-8" />

            <property name="openjpa.ConnectionDriverName" value="com.mysql.jdbc.Driver" />

            <property name="openjpa.ConnectionUserName" value="root" />

            <property name="openjpa.ConnectionPassword" value="" />

            <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />          

        </properties>

    </persistence-unit>

</persistence>[/code]


Und in einem Servlet steht dann noch folgendes (alles andere ausgeklammert):


[code]EntityManagerFactory emf = Persistence.createEntityManagerFactory("webdev");

        EntityManager em = emf.createEntityManager();[/code]


Reichen diese Angaben?


Danke für die Hilfe.



Oben