|
24 | 24 | import org.hibernate.dialect.Dialect; |
25 | 25 | import org.hibernate.engine.spi.SharedSessionContractImplementor; |
26 | 26 | import org.hibernate.sql.ast.spi.SqlAppender; |
27 | | -import org.hibernate.type.descriptor.DateTimeUtils; |
28 | 27 | import org.hibernate.type.descriptor.WrapperOptions; |
29 | 28 | import org.hibernate.type.descriptor.jdbc.JdbcType; |
30 | 29 | import org.hibernate.type.descriptor.jdbc.JdbcTypeIndicators; |
@@ -224,16 +223,8 @@ public void appendEncodedString(SqlAppender sb, Date value) { |
224 | 223 | @Override |
225 | 224 | public Date fromEncodedString(CharSequence charSequence, int start, int end) { |
226 | 225 | try { |
227 | | - final TemporalAccessor accessor = DateTimeUtils.DATE_TIME.parse( subSequence( charSequence, start, end ) ); |
228 | | - final Timestamp timestamp; |
229 | | - if ( accessor.isSupported( ChronoField.INSTANT_SECONDS ) ) { |
230 | | - timestamp = new Timestamp( accessor.getLong( ChronoField.INSTANT_SECONDS ) * 1000L ); |
231 | | - timestamp.setNanos( accessor.get( ChronoField.NANO_OF_SECOND ) ); |
232 | | - } |
233 | | - else { |
234 | | - timestamp = Timestamp.valueOf( LocalDateTime.from( accessor ) ); |
235 | | - } |
236 | | - return timestamp; |
| 226 | + final TemporalAccessor accessor = ENCODED_FORMATTER.parse( subSequence( charSequence, start, end ) ); |
| 227 | + return Timestamp.from( Instant.from( accessor ) ); |
237 | 228 | } |
238 | 229 | catch ( DateTimeParseException pe) { |
239 | 230 | throw new HibernateException( "could not parse timestamp string " + subSequence( charSequence, start, end ), pe ); |
|
0 commit comments