2015-10-17 61 views
0

我有以下實體錯誤時JPA實體 - SQL語法錯誤代碼1064

/* 
* To change this license header, choose License Headers in Project Properties. 
* To change this template file, choose Tools | Templates 
* and open the template in the editor. 
*/ 
package com.travelagency.travelagencybackend.entities; 

import java.io.Serializable; 
import javax.persistence.Column; 
import javax.persistence.Entity; 
import javax.persistence.GeneratedValue; 
import javax.persistence.GenerationType; 
import javax.persistence.Id; 
import javax.persistence.Table; 


@Entity 
@Table(name="SITEUSER") 
public class SiteUser implements Serializable { 
    private static final long serialVersionUID = 1L; 
    @Id 
    @GeneratedValue(strategy = GenerationType.SEQUENCE) 
    private int id; 
    @Column 
private String siteuser_username; 
@Column 
private String siteuser_password; 
@Column 
private String siteuser_name; 
@Column 
private String siteuser_email; 

//<editor-fold defaultstate="collapsed" desc="Getter and Setters"> 
public int getId() { 
    return id; 
} 

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

public String getSiteuser_username() { 
    return siteuser_username; 
} 

public void setSiteuser_username(String siteuser_username) { 
    this.siteuser_username = siteuser_username; 
} 

public String getSiteuser_password() { 
    return siteuser_password; 
} 

public void setSiteuser_password(String siteuser_password) { 
    this.siteuser_password = siteuser_password; 
} 

public String getSiteuser_name() { 
    return siteuser_name; 
} 

public void setSiteuser_name(String siteuser_name) { 
    this.siteuser_name = siteuser_name; 
} 

public String getSiteuser_email() { 
    return siteuser_email; 
} 

public void setSiteuser_email(String siteuser_email) { 
    this.siteuser_email = siteuser_email; 
} 


//</editor-fold> 


public SiteUser(){ 

} 

@Override 
public int hashCode() { 
    int hash = 0; 
    hash += (int) id; 
    return hash; 
} 

@Override 
public boolean equals(Object object) { 
    // TODO: Warning - this method won't work in the case the id fields are not set 
    if (!(object instanceof SiteUser)) { 
     return false; 
    } 
    SiteUser other = (SiteUser) object; 
    if (this.id != other.id) { 
     return false; 
    } 
    return true; 
} 

@Override 
public String toString() { 
    return "com.travelagency.travelagencybackend.entities.SiteUser[ id=" +  id + " ]"; 
} 

} 

當我嘗試將其部署到GlassFish,我得到以下錯誤。請注意,我已經經歷了一些帖子,但沒有發現任何相關內容。

這裏的錯誤:

INFO: file:/Z:/Fontys/ProEP/code/TravelAgency/TravelAgencyBackend /target /classes/_travelagencyPU logout successful 
    INFO: visiting unvisited references 
    INFO: visiting unvisited references 
    INFO: com.travelagency.travelagencybackend.entities.SiteUser  actually  got transformed 
    INFO: EclipseLink, version: Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd 
    INFO: file:/Z:/Fontys/ProEP/code/TravelAgency/TravelAgencyBackend /target /classes/_travelagencyPU login successful 
    WARNING: Local Exception Stack: 
    Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.DatabaseException 
    Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1 
Error Code: 1064 
Call: CREATE TABLE SITEUSER (ID INTEGER AUTO_INCREMENT NOT NULL, SITEUSER_EMAIL VARCHAR(255), SITEUSER_NAME VARCHAR(255), SITEUSER_PASSWORD VARCHAR(255), SITEUSER_USERNAME VARCHAR(255), PRIMARY KEY (ID)) 
Query: DataModifyQuery(sql="CREATE TABLE SITEUSER (ID INTEGER AUTO_INCREMENT NOT NULL, SITEUSER_EMAIL VARCHAR(255), SITEUSER_NAME VARCHAR(255), SITEUSER_PASSWORD VARCHAR(255), SITEUSER_USERNAME VARCHAR(255), PRIMARY KEY (ID))") 
    at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:340) 
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.processExceptionForCommError(DatabaseAccessor.java:1611) 
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:898) 
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeNoSelect(DatabaseAccessor.java:962) 
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.basicExecuteCall(DatabaseAccessor.java:631) 
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeCall(DatabaseAccessor.java:558) 
    at org.eclipse.persistence.internal.sessions.AbstractSession.basicExecuteCall(AbstractSession.java:2002) 
    at org.eclipse.persistence.sessions.server.ServerSession.executeCall(ServerSession.java:570) 
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:242) 
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeCall(DatasourceCallQueryMechanism.java:228) 
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelectCall(DatasourceCallQueryMechanism.java:271) 
    at org.eclipse.persistence.internal.queries.DatasourceCallQueryMechanism.executeNoSelect(DatasourceCallQueryMechanism.java:251) 
    at org.eclipse.persistence.queries.DataModifyQuery.executeDatabaseQuery(DataModifyQuery.java:85) 
    at org.eclipse.persistence.queries.DatabaseQuery.execute(DatabaseQuery.java:899) 
    at org.eclipse.persistence.internal.sessions.AbstractSession.internalExecuteQuery(AbstractSession.java:3214) 
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1804) 
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1786) 
    at org.eclipse.persistence.internal.sessions.AbstractSession.executeQuery(AbstractSession.java:1737) 
    at org.eclipse.persistence.internal.sessions.AbstractSession.priviledgedExecuteNonSelectingCall(AbstractSession.java:5008) 
    at org.eclipse.persistence.tools.schemaframework.DatabaseObjectDefinition.createOnDatabase(DatabaseObjectDefinition.java:141) 
    at org.eclipse.persistence.tools.schemaframework.SchemaManager.createObject(SchemaManager.java:223) 
    at org.eclipse.persistence.tools.schemaframework.TableCreator.createTables(TableCreator.java:165) 
    at org.eclipse.persistence.tools.schemaframework.TableCreator.createTables(TableCreator.java:142) 
    at org.eclipse.persistence.tools.schemaframework.TableCreator.createTables(TableCreator.java:134) 
    at org.eclipse.persistence.tools.schemaframework.SchemaManager.createDefaultTables(SchemaManager.java:1032) 
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryProvider.generateDefaultTables(EntityManagerFactoryProvider.java:102) 
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.writeDDLToDatabase(EntityManagerSetupImpl.java:3999) 
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.writeMetadataDDLToDatabase(EntityManagerSetupImpl.java:4054) 
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.writeDDL(EntityManagerSetupImpl.java:3965) 
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.writeDDL(EntityManagerSetupImpl.java:3838) 
    at org.eclipse.persistence.internal.jpa.EntityManagerSetupImpl.deploy(EntityManagerSetupImpl.java:728) 
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getAbstractSession(EntityManagerFactoryDelegate.java:204) 
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryDelegate.getDatabaseSession(EntityManagerFactoryDelegate.java:182) 
    at org.eclipse.persistence.internal.jpa.EntityManagerFactoryImpl.getDatabaseSession(EntityManagerFactoryImpl.java:527) 
    at org.eclipse.persistence.jpa.PersistenceProvider.createContainerEntityManagerFactory(PersistenceProvider.java:358) 
    at org.glassfish.persistence.jpa.PersistenceUnitLoader.loadPU(PersistenceUnitLoader.java:199) 
    at org.glassfish.persistence.jpa.PersistenceUnitLoader.<init>(PersistenceUnitLoader.java:107) 
    at org.glassfish.persistence.jpa.JPADeployer$1.visitPUD(JPADeployer.java:223) 
    at org.glassfish.persistence.jpa.JPADeployer$PersistenceUnitDescriptorIterator.iteratePUDs(JPADeployer.java:510) 
    at org.glassfish.persistence.jpa.JPADeployer.createEMFs(JPADeployer.java:230) 
    at org.glassfish.persistence.jpa.JPADeployer.prepare(JPADeployer.java:168) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.prepareModule(ApplicationLifecycle.java:925) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:434) 
    at com.sun.enterprise.v3.server.ApplicationLifecycle.deploy(ApplicationLifecycle.java:219) 
    at org.glassfish.deployment.admin.DeployCommand.execute(DeployCommand.java:491) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:539) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2$1.run(CommandRunnerImpl.java:535) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:356) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$2.execute(CommandRunnerImpl.java:534) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:565) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$3.run(CommandRunnerImpl.java:557) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at javax.security.auth.Subject.doAs(Subject.java:356) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:556) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.doCommand(CommandRunnerImpl.java:1464) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl.access$1300(CommandRunnerImpl.java:109) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1846) 
    at com.sun.enterprise.v3.admin.CommandRunnerImpl$ExecutionContext.execute(CommandRunnerImpl.java:1722) 
    at com.sun.enterprise.v3.admin.AdminAdapter.doCommand(AdminAdapter.java:534) 
    at com.sun.enterprise.v3.admin.AdminAdapter.onMissingResource(AdminAdapter.java:224) 
    at org.glassfish.grizzly.http.server.StaticHttpHandlerBase.service(StaticHttpHandlerBase.java:189) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459) 
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167) 
    at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201) 
    at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175) 
    at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235) 
    at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133) 
    at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112) 
    at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77) 
    at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561) 
    at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56) 
    at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565) 
    at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545) 
    at java.lang.Thread.run(Thread.java:744) 
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1 
    at sun.reflect.GeneratedConstructorAccessor327.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) 
    at com.mysql.jdbc.Util.getInstance(Util.java:381) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1031) 
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3376) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3308) 
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1837) 
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1961) 
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2537) 
    at com.mysql.jdbc.StatementImpl.executeSimpleNonQuery(StatementImpl.java:1463) 
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2011) 
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1940) 
    at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1925) 
    at org.eclipse.persistence.internal.databaseaccess.DatabaseAccessor.executeDirectNoSelect(DatabaseAccessor.java:890) 
    ... 78 more 

INFO: Portable JNDI names for EJB NewSessionBean: [java:global/TravelAgencyBackend/NewSessionBean, java:global/TravelAgencyBackend/NewSessionBean!com.travelagency.travelagencybackend.restresources.NewSessionBean] 
INFO: Portable JNDI names for EJB UserService: [java:global/TravelAgencyBackend/UserService, java:global/TravelAgencyBackend/UserService!com.travelagency.travelagencybackend.entityservices.UserService] 
INFO: Portable JNDI names for EJB UserDAO: [java:global/TravelAgencyBackend/UserDAO!com.travelagency.travelagencybackend.dao.UserDAO, java:global/TravelAgencyBackend/UserDAO] 
WARN: WELD-000411: Observer method [BackedAnnotatedMethod] org.glassfish.sse.impl.ServerSentEventCdiExtension.processAnnotatedType(@Observes ProcessAnnotatedType<Object>, BeanManager) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds. 
WARN: WELD-000411: Observer method [BackedAnnotatedMethod] private org.glassfish.jersey.gf.cdi.internal.CdiComponentProvider.processAnnotatedType(@Observes ProcessAnnotatedType<Object>) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds. 
WARN: WELD-000411: Observer method [BackedAnnotatedMethod] public org.glassfish.jms.injection.JMSCDIExtension.processAnnotatedType(@Observes ProcessAnnotatedType<Object>) receives events for all annotated types. Consider restricting events using @WithAnnotations or a generic type with bounds. 
INFO: TravelAgencyBackend was successfully deployed in 15,892 milliseconds. 

所以,儘管它說:「成功部署」結尾;它不會創建我的表格。請幫忙。

+0

退房https://www.dbvis.com/forum/thread.jspa?threadID=4868 – Drew

回答

1

你使用MySQL嗎?如果是這樣,SEQUENCE不受支持。你應該改變你的生成策略。也許,使用IDENTITY。

@GeneratedValue(strategy = GenerationType.IDENTITY) 
+0

伊什您好,我改變了的發電類型,但仍然沒有改變。 – Elton