what did i do something wrong???

22 views
Skip to first unread message

yang zhang

unread,
Oct 17, 2016, 6:24:28 AM10/17/16
to Ebean ORM
i use spring boot + mysql + eban 
but i got wrong when i insert to db

here is my code 

@MappedSuperclass
public class BaseModule extends Model {

@Id
private Long id;

@WhenCreated
private LocalDateTime createDate = LocalDateTime.now();

@WhenModified
private LocalDateTime updateDate = LocalDateTime.now();

@SoftDelete
private Boolean delete = false;

public Long getId() {
return id;
}

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

public LocalDateTime getCreateDate() {
return createDate;
}

public void setCreateDate(LocalDateTime createDate) {
this.createDate = createDate;
}

public LocalDateTime getUpdateDate() {
return updateDate;
}

public void setUpdateDate(LocalDateTime updateDate) {
this.updateDate = updateDate;
}

public Boolean getDelete() {
return delete;
}

public void setDelete(Boolean delete) {
this.delete = delete;
}

}

@Entity
@Table(name = "demo_no_paper")
public class TicketChecked extends BaseModule {

private String ticketCode;

private String movie;

private String hall;

private LocalDateTime movieTime;

private LocalDateTime checkedTime;

private String seatInfo;

private Boolean checked = false;

private String cinemaName;

public String getTicketCode() {
return ticketCode;
}

public void setTicketCode(String ticketCode) {
this.ticketCode = ticketCode;
}

public String getMovie() {
return movie;
}

public void setMovie(String movie) {
this.movie = movie;
}

public String getHall() {
return hall;
}

public void setHall(String hall) {
this.hall = hall;
}

public LocalDateTime getMovieTime() {
return movieTime;
}

public void setMovieTime(LocalDateTime movieTime) {
this.movieTime = movieTime;
}

public LocalDateTime getCheckedTime() {
return checkedTime;
}

public void setCheckedTime(LocalDateTime checkedTime) {
this.checkedTime = checkedTime;
}

public String getSeatInfo() {
return seatInfo;
}

public void setSeatInfo(String seatInfo) {
this.seatInfo = seatInfo;
}

public Boolean getChecked() {
return checked;
}

public void setChecked(Boolean checked) {
this.checked = checked;
}

public String getCinemaName() {
return cinemaName;
}

public void setCinemaName(String cinemaName) {
this.cinemaName = cinemaName;
}

@Override
public String toString() {
return MoreObjects.toStringHelper(this)
.add("ticketCode", ticketCode)
.add("movie", movie)
.add("hall", hall)
.add("movieTime", movieTime)
.add("checkedTime", checkedTime)
.add("seatInfo", seatInfo)
.add("checked", checked)
.add("cinemaName", cinemaName)
.toString();
}

}

@Service
@Transactional(readOnly = true)
public class TicketService {

@Autowired
private EbeanServer ebeanServer;


@Transactional
public TicketChecked insert(TicketChecked ticketChecked) {
ebeanServer.save(ticketChecked);
return ticketChecked;
}

}


when i use the insert() method  i got the error message like this 

2016-10-17 18:13:19.486 [http-nio-8088-exec-1] TRACE org.avaje.ebean.TXN - txn[1001] Begin
2016-10-17 18:13:25.093 [http-nio-8088-exec-1] DEBUG org.avaje.ebean.SUM - txn[1001] ERROR executing DML bindLog[] error[sql injection violation, syntax error: ERROR. token : DELETE, pos : 144 : insert into demo_no_paper (ticket_code, movie, hall, movie_time, checked_time, seat_info, checked, cinema_name, create_date, update_date, delete) values (?,?,?,?,?,?,?,?,?,?,?)]
2016-10-17 18:13:25.094 [http-nio-8088-exec-1] TRACE org.avaje.ebean.TXN - txn[1001] Commit - query only
2016-10-17 18:13:25.128 [http-nio-8088-exec-1] ERROR o.a.c.c.C.[.[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is javax.persistence.PersistenceException: ERROR executing DML bindLog[] error[sql injection violation, syntax error: ERROR. token : DELETE, pos : 144 : insert into demo_no_paper (ticket_code, movie, hall, movie_time, checked_time, seat_info, checked, cinema_name, create_date, update_date, delete) values (?,?,?,?,?,?,?,?,?,?,?)]] with root cause
com.alibaba.druid.sql.parser.ParserException: ERROR. token : DELETE, pos : 144
	at com.alibaba.druid.sql.parser.SQLExprParser.primary(SQLExprParser.java:587)
	at com.alibaba.druid.sql.dialect.mysql.parser.MySqlExprParser.primary(MySqlExprParser.java:167)
	at com.alibaba.druid.sql.parser.SQLExprParser.expr(SQLExprParser.java:94)
	at com.alibaba.druid.sql.parser.SQLExprParser.exprList(SQLExprParser.java:903)
	at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseInsert(MySqlStatementParser.java:2014)
	at com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser.parseInsert(MySqlStatementParser.java:193)
	at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:199)
	at com.alibaba.druid.sql.parser.SQLStatementParser.parseStatementList(SQLStatementParser.java:148)
	at com.alibaba.druid.wall.WallProvider.checkInternal(WallProvider.java:620)
	at com.alibaba.druid.wall.WallProvider.check(WallProvider.java:574)
	at com.alibaba.druid.wall.WallFilter.check(WallFilter.java:711)
	at com.alibaba.druid.wall.WallFilter.connection_prepareStatement(WallFilter.java:331)
	at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:509)
	at com.alibaba.druid.filter.FilterAdapter.connection_prepareStatement(FilterAdapter.java:961)
	at com.alibaba.druid.filter.FilterEventAdapter.connection_prepareStatement(FilterEventAdapter.java:176)
	at com.alibaba.druid.filter.FilterChainImpl.connection_prepareStatement(FilterChainImpl.java:509)
	at com.alibaba.druid.proxy.jdbc.ConnectionProxyImpl.prepareStatement(ConnectionProxyImpl.java:366)
	at com.alibaba.druid.pool.DruidPooledConnection.prepareStatement(DruidPooledConnection.java:467)
	at com.avaje.ebeaninternal.server.persist.dml.InsertHandler.getPstmt(InsertHandler.java:109)
	at com.avaje.ebeaninternal.server.persist.dml.InsertHandler.bind(InsertHandler.java:94)
	at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.execute(DmlBeanPersister.java:69)
	at com.avaje.ebeaninternal.server.persist.dml.DmlBeanPersister.insert(DmlBeanPersister.java:50)
	at com.avaje.ebeaninternal.server.persist.DefaultPersistExecute.executeInsertBean(DefaultPersistExecute.java:54)
	at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeNow(PersistRequestBean.java:644)
	at com.avaje.ebeaninternal.server.core.PersistRequestBean.executeOrQueue(PersistRequestBean.java:690)
	at com.avaje.ebeaninternal.server.persist.DefaultPersister.insert(DefaultPersister.java:449)
	at com.avaje.ebeaninternal.server.persist.DefaultPersister.insert(DefaultPersister.java:399)
	at com.avaje.ebeaninternal.server.persist.DefaultPersister.save(DefaultPersister.java:387)
	at com.avaje.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1435)
	at com.avaje.ebeaninternal.server.core.DefaultServer.save(DefaultServer.java:1428)
	at com.baimes.service.TicketService.insert(TicketService.java:25)
	at com.baimes.web.TicketContorller.insert(TicketContorller.java:37)
	at sun.reflect.GeneratedMethodAccessor287.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:89)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197)
	at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:192)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198)
	at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:108)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:349)
	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:784)
	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:802)
	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1410)
	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

did i do something wrong

Rob Bygrave

unread,
Oct 17, 2016, 7:33:13 AM10/17/16
to ebean@googlegroups
I suggest you change your profile picture and try a different jdbc driver  (the jdbc driver you are using probably thinks 'delete' is invalid column name for mysql).

Seriously, change your profile picture - thanks.

--

---
You received this message because you are subscribed to the Google Groups "Ebean ORM" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ebean+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages