[hibernate-dev] More Dialect and quoting fun
Steve Ebersole
steve at hibernate.org
Wed May 27 12:30:28 EDT 2015
I went ahead and got something in for CR1. Take a look...
On Wed, May 27, 2015 at 8:50 AM, Steve Ebersole <steve at hibernate.org> wrote:
> I actually started with the third approach. But you bring up a good point
> about allowing the Dialect to access the DatabaseMetaData (and hence
> Connection) if it wanted to. So I would change that a bit. See the
> updated gist
>
> On Wed, May 27, 2015 at 7:33 AM, Max Rydahl Andersen <manderse at redhat.com>
> wrote:
>
>>
>> > The old
>> > way was calling one or more of the 50,000 (give or take ;) true/false
>> > methods on Dialect at runtime. The new evolving approach is to build
>> > delegates/helpers at boot time that encapsulate all that. Most of that
>> > work so far is encapsulated by JdbcEnvironment. One piece of this
>> > JdbcEnvironment is this IdentifierHelper
>> > (JdbcEnvironment#getIdentifierHelper).
>> >
>> > Maybe it makes the most sense to psuedo-code some approaches:
>> > https://gist.github.com/sebersole/46b5b7968e748648f562
>>
>> Of these I think the outline in "first approach" is the best
>> since it does give the Dialect a chance to actually "talk" to the
>> server to figure out a possible better lookup than the jdbcDriver does.
>>
>> But as you said the dialect must handle getting null passed in - just
>> don't
>> see a better way to handle that.
>>
>> Could even keep the implicit contract of if you return null it will
>> do as described in "second approach" and have a decent fallback.
>>
>> /max
>>
>>
>> >
>> >
>> >
>> >> One concern about DatabaseMetaData that hit the tools a few times is
>> that
>> >> getting this can be extremely expensive for some drivers (I don't
>> recall
>> >> which
>> >> exactly, but Oracle comes to mind ;)
>> >>
>> >
>> > We get this once per bootstrap.
>>
>>
>> /max
>> http://about.me/maxandersen
>>
>
>
More information about the hibernate-dev
mailing list