[JBoss JIRA] (HIBERNATE-142) @JoinColumn annotation doesn't fully support column names requiring double-quotes
by Steve Ebersole (JIRA)
[ https://issues.jboss.org/browse/HIBERNATE-142?page=com.atlassian.jira.plu... ]
Steve Ebersole commented on HIBERNATE-142:
------------------------------------------
As already mentioned, this is not the right place to report this. Also, I am fairly certain this has since been resolved.
> @JoinColumn annotation doesn't fully support column names requiring double-quotes
> ---------------------------------------------------------------------------------
>
> Key: HIBERNATE-142
> URL: https://issues.jboss.org/browse/HIBERNATE-142
> Project: Hibernate Integration
> Issue Type: Bug
> Environment: Hibernate 4.2.4-Final
> Eclipse Juno
> J2EE 3.0 Web app
> Reporter: Paul Spinelli
> Assignee: Steve Ebersole
> Priority: Minor
>
> Due to the way an existing database schema has been configured, my JPA annotations (using Hibernate as my provider) all required that table names/column names be double-quoted:
> (e.g. String ID_COLUMN_NAME = "\"Id\"";)
> This does not pose a problem EXCEPT when using the @JoinColumn annotation (specifically, the 'referencedColumnName' attribute). This DOES NOT work (I get an error that the logical column name cannot be found):
> @JoinColumn(name=ID_COLUMN_NAME, referencedColumnName=ID_COLUMN_NAME)
> However, this DOES work:
> @JoinColumn(name=ID_COLUMN_NAME, referencedColumnName="`Id`")
> It seems that the 'name' attribute supports double-quotes while the 'referencedColumnName' attribute does not. Is there a reason it should not?
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years, 8 months
[JBoss JIRA] (HIBERNATE-142) @JoinColumn annotation doesn't fully support column names requiring double-quotes
by Steve Ebersole (JIRA)
[ https://issues.jboss.org/browse/HIBERNATE-142?page=com.atlassian.jira.plu... ]
Steve Ebersole closed HIBERNATE-142.
------------------------------------
Resolution: Rejected
> @JoinColumn annotation doesn't fully support column names requiring double-quotes
> ---------------------------------------------------------------------------------
>
> Key: HIBERNATE-142
> URL: https://issues.jboss.org/browse/HIBERNATE-142
> Project: Hibernate Integration
> Issue Type: Bug
> Environment: Hibernate 4.2.4-Final
> Eclipse Juno
> J2EE 3.0 Web app
> Reporter: Paul Spinelli
> Assignee: Steve Ebersole
> Priority: Minor
>
> Due to the way an existing database schema has been configured, my JPA annotations (using Hibernate as my provider) all required that table names/column names be double-quoted:
> (e.g. String ID_COLUMN_NAME = "\"Id\"";)
> This does not pose a problem EXCEPT when using the @JoinColumn annotation (specifically, the 'referencedColumnName' attribute). This DOES NOT work (I get an error that the logical column name cannot be found):
> @JoinColumn(name=ID_COLUMN_NAME, referencedColumnName=ID_COLUMN_NAME)
> However, this DOES work:
> @JoinColumn(name=ID_COLUMN_NAME, referencedColumnName="`Id`")
> It seems that the 'name' attribute supports double-quotes while the 'referencedColumnName' attribute does not. Is there a reason it should not?
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years, 8 months
[JBoss JIRA] (HIBERNATE-145) Issue in HQL to SQL Conversion for Order By Clause
by Steve Ebersole (JIRA)
[ https://issues.jboss.org/browse/HIBERNATE-145?page=com.atlassian.jira.plu... ]
Steve Ebersole commented on HIBERNATE-145:
------------------------------------------
This is not the correct project to report Hibernate issues under. This Jira project is for reporting issues in the integration between Hibernate and WildFly. To report issues in Hibernate, please use https://hibernate.atlassian.net. Thanks.
> Issue in HQL to SQL Conversion for Order By Clause
> --------------------------------------------------
>
> Key: HIBERNATE-145
> URL: https://issues.jboss.org/browse/HIBERNATE-145
> Project: Hibernate Integration
> Issue Type: Bug
> Reporter: Hitesh Saliya
> Assignee: Steve Ebersole
> Priority: Minor
>
> Created HQL Query with string : " select * from tableName where id=1 order by id desc 'any content' ".
> Its executing with no error.
> Generated SQL : " select * from tableName where id=1 order by id desc "
> Here, for hql with order by clause, anything written after order by inside '...' is removed.
> Is this behavior is for sql injection threat or its a bug in translation engine?
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years, 8 months
[JBoss JIRA] (HIBERNATE-145) Issue in HQL to SQL Conversion for Order By Clause
by Steve Ebersole (JIRA)
[ https://issues.jboss.org/browse/HIBERNATE-145?page=com.atlassian.jira.plu... ]
Steve Ebersole closed HIBERNATE-145.
------------------------------------
Resolution: Rejected
> Issue in HQL to SQL Conversion for Order By Clause
> --------------------------------------------------
>
> Key: HIBERNATE-145
> URL: https://issues.jboss.org/browse/HIBERNATE-145
> Project: Hibernate Integration
> Issue Type: Bug
> Reporter: Hitesh Saliya
> Assignee: Steve Ebersole
> Priority: Minor
>
> Created HQL Query with string : " select * from tableName where id=1 order by id desc 'any content' ".
> Its executing with no error.
> Generated SQL : " select * from tableName where id=1 order by id desc "
> Here, for hql with order by clause, anything written after order by inside '...' is removed.
> Is this behavior is for sql injection threat or its a bug in translation engine?
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years, 8 months
[JBoss JIRA] (HIBERNATE-148) Postgres function to_char, lpad or rpad
by Steve Ebersole (JIRA)
[ https://issues.jboss.org/browse/HIBERNATE-148?page=com.atlassian.jira.plu... ]
Steve Ebersole commented on HIBERNATE-148:
------------------------------------------
This is not the correct project to report Hibernate issues under. This Jira project is for reporting issues in the integration between Hibernate and WildFly. To report issues in Hibernate, please use https://hibernate.atlassian.net. Thanks.
> Postgres function to_char, lpad or rpad
> ---------------------------------------
>
> Key: HIBERNATE-148
> URL: https://issues.jboss.org/browse/HIBERNATE-148
> Project: Hibernate Integration
> Issue Type: Bug
> Reporter: Wojciech Grochowicz
> Assignee: Steve Ebersole
>
> In Query org.hibernate.SharedSessionContract.getNamedQuery(String queryName) i create query with function to_char, lpad or rpad.
> For Example:
> @NamedQuery(name = "test", query = " from test where (to_char(YEAR, '9999')||lpad(substr(MONTH, 1),2,'01'))=:value")
>
> Query query = getSession().getNamedQuery("test");
> query.setParameter("value", " 2014M2");
> query.uniqueResult();
> When i use Oracle in HSQL log show query:
> select (...) from test where (to_char(YEAR, '9999')||lpad(substr(MONTH, 2),2,'0'))=?
> So it is evrything ok.
> When i use Postgres in HSQL log show query:
> select (...) from test where (to_char(YEAR, '9999')||lpad(substr(MONTH, 2)||2||'0'))=?
> So in log i sow exception:
> org.hibernate.exception.SQLGrammarException: could not extract ResultSet
> at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:123)
> at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
> at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
> at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
> at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.extract(ResultSetReturnImpl.java:91)
> at org.hibernate.loader.Loader.getResultSet(Loader.java:2065)
> at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1862)
> at org.hibernate.loader.Loader.executeQueryStatement(Loader.java:1838)
> at org.hibernate.loader.Loader.doQuery(Loader.java:909)
> at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354)
> at org.hibernate.loader.Loader.doList(Loader.java:2553)
> at org.hibernate.loader.Loader.doList(Loader.java:2539)
> at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2369)
> at org.hibernate.loader.Loader.list(Loader.java:2364)
> at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:496)
> at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:387)
> at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:231)
> at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1264)
> at org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)
> at org.hibernate.internal.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:966)
> at pl.sygnity.zsi.dao.uprawnienia.SlownikWartosciParametruCrudDao.getForParametr(SlownikWartosciParametruCrudDao.java:47)
> at pl.sygnity.zsi.business.ParametrSystemowyBusiness.getData(ParametrSystemowyBusiness.java:56)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
> at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
> at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:266)
> at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
> at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
> at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
> at com.sun.proxy.$Proxy489.getData(Unknown Source)
> at pl.sygnity.zsi.admin.action.podatkioplaty.ParametrSystemowyFilterAction.getDataSearch(ParametrSystemowyFilterAction.java:61)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450)
> at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252)
> at com.opensymphony.xwork2.interceptor.TimerInterceptor.invokeUnderTiming(TimerInterceptor.java:135)
> at com.opensymphony.xwork2.interceptor.TimerInterceptor.intercept(TimerInterceptor.java:122)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.interceptor.LoggingInterceptor.intercept(LoggingInterceptor.java:67)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.spring.interceptor.ActionAutowiringInterceptor.intercept(ActionAutowiringInterceptor.java:120)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
> at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
> at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
> at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:254)
> at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:254)
> at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
> at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
> at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
> at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
> at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:562)
> at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
> at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
> at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
> at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:110)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
> at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
> at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
> at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160)
> at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:344)
> at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:261)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
> at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:142)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:537)
> at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1081)
> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:658)
> at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
> at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
> at java.lang.Thread.run(Thread.java:745)
>
> If i change NamedQuery to:
> @NamedQuery(name = "test", query = " from test where (to_char(YEAR, '9999')||rpad(substr(MONTH, 1),2,'01'))=:value")
> It is the same exception in log.
> But when i use another function with parameters, for example:
> @NamedQuery(name = "test", query = " from test where (to_char(YEAR, '9999')||substr(substr(MONTH, 1),2,'01'))=:value")
> So, it is everything ok.
> And when i use only lpad or rpad function, for example:
> @NamedQuery(name = "test", query = " from test where lpad('hi', 5, 'xy')>=?=:value")
> So, it is everything ok.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
10 years, 8 months