@@ -74,24 +74,8 @@ protected void doBind(
74
74
X value ,
75
75
int index ,
76
76
WrapperOptions options ) throws SQLException {
77
- try {
78
- final OffsetDateTime dateTime = javaType .unwrap ( value , OffsetDateTime .class , options );
79
- // supposed to be supported in JDBC 4.2
80
- st .setObject ( index , dateTime , Types .TIMESTAMP_WITH_TIMEZONE );
81
- }
82
- catch (SQLException |AbstractMethodError e ) {
83
- // fall back to treating it as a JDBC Timestamp
84
- final Timestamp timestamp = javaType .unwrap ( value , Timestamp .class , options );
85
- if ( value instanceof Calendar calendar ) {
86
- st .setTimestamp ( index , timestamp , calendar );
87
- }
88
- else if ( options .getJdbcTimeZone () != null ) {
89
- st .setTimestamp ( index , timestamp , Calendar .getInstance ( options .getJdbcTimeZone () ) );
90
- }
91
- else {
92
- st .setTimestamp ( index , timestamp );
93
- }
94
- }
77
+ final OffsetDateTime dateTime = javaType .unwrap ( value , OffsetDateTime .class , options );
78
+ st .setObject ( index , dateTime , Types .TIMESTAMP_WITH_TIMEZONE );
95
79
}
96
80
97
81
@ Override
@@ -101,24 +85,8 @@ protected void doBind(
101
85
String name ,
102
86
WrapperOptions options )
103
87
throws SQLException {
104
- try {
105
- final OffsetDateTime dateTime = javaType .unwrap ( value , OffsetDateTime .class , options );
106
- // supposed to be supported in JDBC 4.2
107
- st .setObject ( name , dateTime , Types .TIMESTAMP_WITH_TIMEZONE );
108
- }
109
- catch (SQLException |AbstractMethodError e ) {
110
- // fall back to treating it as a JDBC Timestamp
111
- final Timestamp timestamp = javaType .unwrap ( value , Timestamp .class , options );
112
- if ( value instanceof Calendar calendar ) {
113
- st .setTimestamp ( name , timestamp , calendar );
114
- }
115
- else if ( options .getJdbcTimeZone () != null ) {
116
- st .setTimestamp ( name , timestamp , Calendar .getInstance ( options .getJdbcTimeZone () ) );
117
- }
118
- else {
119
- st .setTimestamp ( name , timestamp );
120
- }
121
- }
88
+ final OffsetDateTime dateTime = javaType .unwrap ( value , OffsetDateTime .class , options );
89
+ st .setObject ( name , dateTime , Types .TIMESTAMP_WITH_TIMEZONE );
122
90
}
123
91
};
124
92
}
@@ -128,44 +96,17 @@ public <X> ValueExtractor<X> getExtractor(final JavaType<X> javaType) {
128
96
return new BasicExtractor <>( javaType , this ) {
129
97
@ Override
130
98
protected X doExtract (ResultSet rs , int position , WrapperOptions options ) throws SQLException {
131
- try {
132
- // supposed to be supported in JDBC 4.2
133
- return javaType .wrap ( rs .getObject ( position , OffsetDateTime .class ), options );
134
- }
135
- catch (SQLException |AbstractMethodError e ) {
136
- // fall back to treating it as a JDBC Timestamp
137
- return options .getJdbcTimeZone () != null ?
138
- javaType .wrap ( rs .getTimestamp ( position , Calendar .getInstance ( options .getJdbcTimeZone () ) ), options ) :
139
- javaType .wrap ( rs .getTimestamp ( position ), options );
140
- }
99
+ return javaType .wrap ( rs .getObject ( position , OffsetDateTime .class ), options );
141
100
}
142
101
143
102
@ Override
144
103
protected X doExtract (CallableStatement statement , int position , WrapperOptions options ) throws SQLException {
145
- try {
146
- // supposed to be supported in JDBC 4.2
147
- return javaType .wrap ( statement .getObject ( position , OffsetDateTime .class ), options );
148
- }
149
- catch (SQLException |AbstractMethodError e ) {
150
- // fall back to treating it as a JDBC Timestamp
151
- return options .getJdbcTimeZone () != null ?
152
- javaType .wrap ( statement .getTimestamp ( position , Calendar .getInstance ( options .getJdbcTimeZone () ) ), options ) :
153
- javaType .wrap ( statement .getTimestamp ( position ), options );
154
- }
104
+ return javaType .wrap ( statement .getObject ( position , OffsetDateTime .class ), options );
155
105
}
156
106
157
107
@ Override
158
108
protected X doExtract (CallableStatement statement , String name , WrapperOptions options ) throws SQLException {
159
- try {
160
- // supposed to be supported in JDBC 4.2
161
- return javaType .wrap ( statement .getObject ( name , OffsetDateTime .class ), options );
162
- }
163
- catch (SQLException |AbstractMethodError e ) {
164
- // fall back to treating it as a JDBC Timestamp
165
- return options .getJdbcTimeZone () != null ?
166
- javaType .wrap ( statement .getTimestamp ( name , Calendar .getInstance ( options .getJdbcTimeZone () ) ), options ) :
167
- javaType .wrap ( statement .getTimestamp ( name ), options );
168
- }
109
+ return javaType .wrap ( statement .getObject ( name , OffsetDateTime .class ), options );
169
110
}
170
111
};
171
112
}
0 commit comments