|
23 | 23 | */
|
24 | 24 | package org.hibernate.test.id;
|
25 | 25 |
|
26 |
| -import javax.persistence.Entity; |
27 |
| -import javax.persistence.GeneratedValue; |
28 |
| -import javax.persistence.GenerationType; |
29 |
| -import javax.persistence.Id; |
30 | 26 | import java.sql.Connection;
|
| 27 | +import java.sql.PreparedStatement; |
31 | 28 | import java.sql.SQLException;
|
32 |
| -import java.sql.Statement; |
33 | 29 | import java.util.List;
|
34 | 30 | import java.util.Properties;
|
35 |
| - |
36 |
| -import org.jboss.logging.Logger; |
| 31 | +import javax.persistence.Entity; |
| 32 | +import javax.persistence.GeneratedValue; |
| 33 | +import javax.persistence.GenerationType; |
| 34 | +import javax.persistence.Id; |
37 | 35 |
|
38 | 36 | import org.hibernate.Session;
|
39 | 37 | import org.hibernate.Transaction;
|
40 | 38 | import org.hibernate.annotations.GenericGenerator;
|
41 | 39 | import org.hibernate.cfg.Configuration;
|
| 40 | +import org.hibernate.engine.spi.SessionFactoryImplementor; |
| 41 | +import org.hibernate.engine.spi.SessionImplementor; |
42 | 42 | import org.hibernate.jdbc.Work;
|
43 | 43 |
|
44 |
| -import org.junit.Test; |
45 |
| - |
46 | 44 | import org.hibernate.testing.TestForIssue;
|
47 | 45 | import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase;
|
| 46 | +import org.junit.Test; |
| 47 | + |
| 48 | +import org.jboss.logging.Logger; |
48 | 49 |
|
49 | 50 | import static org.junit.Assert.assertEquals;
|
50 | 51 |
|
@@ -75,7 +76,7 @@ public void testSequenceIdentifierGenerator() {
|
75 | 76 |
|
76 | 77 | assertEquals( 7, countInsertedRows( s ) );
|
77 | 78 |
|
78 |
| - List<Number> ids = s.createSQLQuery( "SELECT id FROM sequenceIdentifier" ).list(); |
| 79 | + List<Number> ids = s.createQuery( "SELECT id FROM sequenceIdentifier" ).list(); |
79 | 80 | for ( Number id : ids ) {
|
80 | 81 | log.debug( "Found id: " + id );
|
81 | 82 | }
|
@@ -128,16 +129,18 @@ public static class SequenceIdentifier {
|
128 | 129 | }
|
129 | 130 |
|
130 | 131 | private void insertNewRow(Session session) {
|
| 132 | + final SessionImplementor si = (SessionImplementor) session; |
| 133 | + final SessionFactoryImplementor sfi = si.getFactory(); |
| 134 | + |
131 | 135 | session.doWork(
|
132 | 136 | new Work() {
|
133 | 137 | @Override
|
134 | 138 | public void execute(Connection connection) throws SQLException {
|
135 |
| - Statement statement = null; |
| 139 | + PreparedStatement statement = null; |
136 | 140 | try {
|
137 |
| - statement = connection.createStatement(); |
138 |
| - statement.executeUpdate( |
139 |
| - "INSERT INTO sequenceIdentifier VALUES (NEXT VALUE FOR hibernate_sequence)" |
140 |
| - ); |
| 141 | + statement = connection.prepareStatement( "INSERT INTO sequenceIdentifier VALUES (?)" ); |
| 142 | + statement.setObject( 1, sfi.getIdentifierGenerator( SequenceIdentifier.class.getName() ).generate( si, null ) ); |
| 143 | + statement.executeUpdate(); |
141 | 144 | }
|
142 | 145 | finally {
|
143 | 146 | if ( statement != null ) {
|
|
0 commit comments