HHH-13266 Change test to use raw JDBC for executing native query

This commit is contained in:
Gail Badner 2019-02-27 22:09:27 -08:00 committed by Yoann Rodière
parent 3fa7f197a1
commit 99a56c57d5
1 changed files with 17 additions and 9 deletions

View File

@ -6,6 +6,8 @@
*/
package org.hibernate.test.type;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Timestamp;
import java.time.LocalDateTime;
import java.time.ZoneId;
@ -155,17 +157,23 @@ public class LocalDateTimeTest extends BaseCoreFunctionalTestCase {
session.persist( new EntityWithLocalDateTime( 1, getExpectedLocalDateTime() ) );
} );
inTransaction( session -> {
Timestamp nativeRead = (Timestamp) session.createNativeQuery(
"SELECT thevalue FROM theentity WHERE theid = :id"
)
.setParameter( "id", 1 )
.uniqueResult();
session.doWork( connection -> {
final PreparedStatement statement = connection.prepareStatement(
"SELECT thevalue FROM theentity WHERE theid = ?"
);
statement.setInt( 1, 1 );
statement.execute();
final ResultSet resultSet = statement.getResultSet();
resultSet.next();
Timestamp nativeRead = resultSet.getTimestamp( 1 );
assertEquals(
"Raw values written in database should match the original value (same day, hour, ...)",
getExpectedTimestamp(), nativeRead
getExpectedTimestamp(),
nativeRead
);
} );
} );
} );
}
private static void withDefaultTimeZone(ZoneId zoneId, Runnable runnable) {