Ignoring some poor wording in the Javadocs by me :) On Wed, Jun 7, 2017 at 10:38 AM Steve Ebersole <st...@hibernate.org> wrote:
> I'm not sure what you mean when you say that SqlTypeDescriptor only > supports binding by name. On both 5.2 and 6.0 I see : > > /** > * Bind a value to a prepared statement. > * > * @param st The prepared statement to which to bind the value. > * @param value The value to bind. > * @param index The position at which to bind the value within the prepared > statement > * @param options The options. > * > * @throws SQLException Indicates a JDBC error occurred. > */ > public void bind(PreparedStatement st, X value, int index, WrapperOptions > options) throws SQLException; > > /** > * Bind a value to a CallableStatement. > * > * @param st The prepared statement to which to bind the value. > * @param value The value to bind. > * @param name The name to bind the value within the prepared statement > * @param options The options. > * > * @throws SQLException Indicates a JDBC error occurred. > */ > public void bind(CallableStatement st, X value, String name, WrapperOptions > options) throws SQLException; > > > > Which is what you'd expect. I'm not really following what you are > saying. A CallableStatement is also a PreparedStatement so we already know > how to bind positionally against both PreparedStatement (and > CallableStatement, since they are PreparedStatement). And only for > CallableStatement does JDBC define additional support for binding by name. > > And 6.0 is going to bind by position, but that's what all other versions > of Hibernate have done. The change in 6.0 you are thinking about is > *reading* values back (from ResultSets, CallableStatement params, etc). > > On Wed, Jun 7, 2017 at 9:13 AM Vlad Mihalcea <mihalcea.v...@gmail.com> > wrote: > >> Hi, >> >> While writing an example for a custom Hibernate Type which supports >> PostgreSQL arrays, >> I realized that the SqlTypeDescriptor only supports bind by name: >> >> @Override >> protected void doBind(CallableStatement st, X value, String name, >> WrapperOptions options) >> throws SQLException { >> } >> >> However, for the java.sql.Array, we only have a bind by index method in >> java.sql.Statement: >> >> void setArray (int parameterIndex, Array x) throws SQLException; >> >> I remember that 6.0 is going to bind by index, so maybe this issue is >> already taken care of in the new version. >> Should we provide some fix for 5.x as well? >> >> Vlad >> _______________________________________________ >> hibernate-dev mailing list >> hibernate-dev@lists.jboss.org >> https://lists.jboss.org/mailman/listinfo/hibernate-dev >> > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev