|
Steve Ebersole, here's what happens. Note the dotless, lowercase i.
Locale.setDefault(Locale.forLanguageTag("tr-TR"));
...
s.createQuery( "from " + IAmAFoo.class.getName() + " as f where f.foo = 'test'" ).uniqueResult();
...
select testcase_ı0_.Id as Id1_0_, testcase_ı0_.foo as foo2_0_ from TestCase$IAmAFoo testcase_ı0_ where testcase_ı0_.foo='test'
Originally, I thought this might be isolated to generated aliases in queries. But in auditing, I'm seeing other areas that might be affected. For instance, Table#validateColumns uses toLowerCase when checking column types. If you have something like an Integer (or anything w/ a capital I), more problems might come up.
Simply using toLowerCase(Locale.ENGLISH) in StringHelper#generateAliasRoot corrects the reported problem. But should we look into enforcing the use of StringHelper#toLowerCase?
|