Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

3
  • Yeah,you are right,but we are where we are,if change to use PreparedStatement,i think this will affect a lot of coding that we supposed it is already stable.you what we need to do is using a smart solution to fix the injection problem,no matter using escape character or whatever,i hope the change won't too many. Commented Jul 8, 2013 at 9:28
  • @Chailie If your using hibernate it should already be using PreparedStatements Commented Jul 8, 2013 at 9:30
  • what we written is like this:em = emf.createEntityManager(); Query query = em.createNativeQuery(sql); ret = query.getResultList();but it will have following exception if i type single quote in UI:17:34:40,927 ERROR JDBCExceptionReporter:101 - 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 '%' order by BaseBookingInfoTO.bookingDateGMT desc' at line 1 17:34:40,929 ERROR AbstractEntityManagerImpl:580 - Unable to mark for rollback on PersistenceException: java.lang.IllegalStateException: no transaction st... Commented Jul 8, 2013 at 9:35