These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: Querying GIS table (mysql)
PostPosted: Mon Jul 05, 2010 5:48 pm 
Newbie

Joined: Mon Jul 05, 2010 5:38 pm
Posts: 2
Am new to JBoss Seam framework and looking for a way to put GIS features in WHERE clause, for example, this is my SQL GIS query:
Quote:
SELECT * FROM position WHERE Contains(GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'), location) = 1;

How to convert it to a HQL ?
Thx !


Top
 Profile  
 
 Post subject: Re: Querying GIS table (mysql)
PostPosted: Tue Jul 06, 2010 2:33 am 
Newbie

Joined: Thu Aug 20, 2009 3:00 am
Posts: 11
Hello,

I did not try it but I experience very compatible behaviour of HQL and SQL and so I assume you could just use something like:

"SELECT p FROM Position p WHERE Contains(GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'), p.location) = 1"

You first have to create Position entity class mapping to your database table.

Hope this helps :)

MAG,
Milo


Top
 Profile  
 
 Post subject: Re: Querying GIS table (mysql)
PostPosted: Tue Jul 06, 2010 5:22 am 
Newbie

Joined: Mon Jul 05, 2010 5:38 pm
Posts: 2
Hi
I've tryed that and it appears the POINT datatype is not [de]serializeable (location column has the POINT mysql datatype):
Quote:
11:15:04,251 INFO [AnnotationBinder] Binding entity from annotated class: org.domain.fortunamoon.entity.Position
11:15:04,252 INFO [EntityBinder] Bind entity org.domain.fortunamoon.entity.Position on table position
11:15:04,289 INFO [AnnotationBinder] Binding entity from annotated class: org.domain.fortunamoon.entity.MapItem
11:15:04,289 INFO [EntityBinder] Bind entity org.domain.fortunamoon.entity.MapItem on table map_item
11:15:04,406 INFO [CollectionBinder] Mapping collection: org.domain.fortunamoon.entity.MapItem.positions -> position
11:15:04,502 INFO [HibernateSearchEventListenerRegister] Unable to find org.hibernate.search.event.FullTextIndexEventListener on the classpath. Hibernate Search is not enabled.
11:15:04,508 INFO [ConnectionProviderFactory] Initializing connection provider: org.hibernate.ejb.connection.InjectedDataSourceConnectionProvider
11:15:04,531 INFO [InjectedDataSourceConnectionProvider] Using provided datasource
11:15:04,588 INFO [SettingsFactory] RDBMS: MySQL, version: 5.1.41-3ubuntu12.3-log
11:15:04,588 INFO [SettingsFactory] JDBC driver: MySQL-AB JDBC Driver, version: mysql-connector-java-5.1.0 ( $Date: 2007-04-05 23:56:05 +0200 (Thu, 05 Apr 2007) $, $Revision: 6376 $ )
11:15:04,589 INFO [Dialect] Using dialect: org.hibernate.dialect.MySQLInnoDBDialect
11:15:04,590 INFO [TransactionFactoryFactory] Transaction strategy: org.hibernate.ejb.transaction.JoinableCMTTransactionFactory
11:15:04,590 INFO [TransactionManagerLookupFactory] instantiating TransactionManagerLookup: org.hibernate.transaction.JBossTransactionManagerLookup
11:15:04,591 INFO [TransactionManagerLookupFactory] instantiated TransactionManagerLookup
11:15:04,591 INFO [SettingsFactory] Automatic flush during beforeCompletion(): disabled
11:15:04,592 INFO [SettingsFactory] Automatic session close at end of transaction: disabled
11:15:04,592 INFO [SettingsFactory] JDBC batch size: 15
11:15:04,592 INFO [SettingsFactory] JDBC batch updates for versioned data: disabled
11:15:04,592 INFO [SettingsFactory] Scrollable result sets: enabled
11:15:04,592 INFO [SettingsFactory] JDBC3 getGeneratedKeys(): enabled
11:15:04,592 INFO [SettingsFactory] Connection release mode: auto
11:15:04,592 INFO [SettingsFactory] Maximum outer join fetch depth: 2
11:15:04,592 INFO [SettingsFactory] Default batch fetch size: 1
11:15:04,592 INFO [SettingsFactory] Generate SQL with comments: disabled
11:15:04,592 INFO [SettingsFactory] Order SQL updates by primary key: disabled
11:15:04,592 INFO [SettingsFactory] Order SQL inserts for batching: disabled
11:15:04,592 INFO [SettingsFactory] Query translator: org.hibernate.hql.ast.ASTQueryTranslatorFactory
11:15:04,593 INFO [ASTQueryTranslatorFactory] Using ASTQueryTranslatorFactory
11:15:04,593 INFO [SettingsFactory] Query language substitutions: {}
11:15:04,594 INFO [SettingsFactory] JPA-QL strict compliance: enabled
11:15:04,594 INFO [SettingsFactory] Second-level cache: enabled
11:15:04,594 INFO [SettingsFactory] Query cache: disabled
11:15:04,594 INFO [SettingsFactory] Cache region factory : org.hibernate.cache.impl.bridge.RegionFactoryCacheProviderBridge
11:15:04,595 INFO [RegionFactoryCacheProviderBridge] Cache provider: org.hibernate.cache.HashtableCacheProvider
11:15:04,595 INFO [SettingsFactory] Optimize cache for minimal puts: disabled
11:15:04,596 INFO [SettingsFactory] Cache region prefix: persistence.unit:unitName=#fortunamoon
11:15:04,596 INFO [SettingsFactory] Structured second-level cache entries: disabled
11:15:04,596 INFO [SettingsFactory] Echoing all SQL to stdout
11:15:04,596 INFO [SettingsFactory] Statistics: disabled
11:15:04,596 INFO [SettingsFactory] Deleted entity synthetic identifier rollback: disabled
11:15:04,596 INFO [SettingsFactory] Default entity-mode: pojo
11:15:04,596 INFO [SettingsFactory] Named query checking : enabled
11:15:04,604 INFO [SessionFactoryImpl] building session factory
11:15:04,663 INFO [SessionFactoryObjectFactory] Factory name: persistence.unit:unitName=#fortunamoon
11:15:04,663 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
11:15:04,666 INFO [SessionFactoryObjectFactory] Bound factory to JNDI name: persistence.unit:unitName=#fortunamoon
11:15:04,667 WARN [SessionFactoryObjectFactory] InitialContext did not implement EventContext
11:15:04,684 INFO [SchemaUpdate] Running hbm2ddl schema update
11:15:04,684 INFO [SchemaUpdate] fetching database metadata
11:15:04,685 INFO [SchemaUpdate] updating schema
11:15:04,747 INFO [TableMetadata] table found: fortunamoon.map_item
11:15:04,748 INFO [TableMetadata] columns: [id, name, size_x, size_y]
11:15:04,748 INFO [TableMetadata] foreign keys: []
11:15:04,748 INFO [TableMetadata] indexes: [name, primary]
11:15:04,812 INFO [TableMetadata] table found: fortunamoon.position
11:15:04,813 INFO [TableMetadata] columns: [map_item_id, id, updated_at, location, created_at]
11:15:04,813 INFO [TableMetadata] foreign keys: [position_ibfk_1]
11:15:04,813 INFO [TableMetadata] indexes: [map_item_id, primary]
11:15:04,814 INFO [SchemaUpdate] schema update complete
11:15:04,815 INFO [NamingHelper] JNDI InitialContext properties:{java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces}
11:15:11,297 INFO [STDOUT] Hibernate:
select
position0_.id as id2_,
position0_.created_at as created2_2_,
position0_.location as location2_,
position0_.map_item_id as map5_2_,
position0_.updated_at as updated4_2_
from
fortunamoon.position position0_
where
Contains(GeomFromText('POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))'), position0_.location)=1 limit ?
11:15:11,538 INFO [SerializableType] could not read column value from result set: location2_; could not deserialize
11:15:11,562 SEVERE [viewhandler] Error Rendering View[/map.xhtml]
javax.faces.el.EvaluationException: javax.el.ELException: /map.xhtml @69,68 value="#{windowMapItems.resultList}": Error reading 'resultList' on type org.domain.fortunamoon.session.WindowMapItems_$$_javassist_seam_2
at javax.faces.component.ValueBindingValueExpressionAdapter.getValue(ValueBindingValueExpressionAdapter.java:117)
at com.sun.facelets.component.UIRepeat.getValue(UIRepeat.java:143)
at com.sun.facelets.component.UIRepeat.getDataModel(UIRepeat.java:121)
at com.sun.facelets.component.UIRepeat.setIndex(UIRepeat.java:305)
at com.sun.facelets.component.UIRepeat.process(UIRepeat.java:333)
at com.sun.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:617)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:930)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:592)
at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:100)
at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:176)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:110)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:368)
at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:60)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.web.HotDeployFilter.doFilter(HotDeployFilter.java:53)
at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619)
Caused by: javax.el.ELException: /map.xhtml @69,68 value="#{windowMapItems.resultList}": Error reading 'resultList' on type org.domain.fortunamoon.session.WindowMapItems_$$_javassist_seam_2
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:76)
at javax.faces.component.ValueBindingValueExpressionAdapter.getValue(ValueBindingValueExpressionAdapter.java:113)
... 57 more
Caused by: javax.persistence.PersistenceException: org.hibernate.type.SerializationException: could not deserialize
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:614)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:76)
at org.jboss.seam.framework.EntityQuery.initResultList(EntityQuery.java:80)
at org.jboss.seam.framework.EntityQuery.getResultList(EntityQuery.java:71)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:32)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
at org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:28)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.transaction.TransactionInterceptor$1.work(TransactionInterceptor.java:97)
at org.jboss.seam.util.Work.workInTransaction(Work.java:61)
at org.jboss.seam.transaction.TransactionInterceptor.aroundInvoke(TransactionInterceptor.java:91)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:44)
at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:107)
at org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:185)
at org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:103)
at org.domain.fortunamoon.session.WindowMapItems_$$_javassist_seam_2.getResultList(WindowMapItems_$$_javassist_seam_2.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javax.el.BeanELResolver.getValue(BeanELResolver.java:62)
at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
at org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java:53)
at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
at com.sun.facelets.el.TagValueExpression.getValue(TagValueExpression.java:71)
... 58 more
Caused by: org.hibernate.type.SerializationException: could not deserialize
at org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:188)
at org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:211)
at org.hibernate.type.SerializableType.fromBytes(SerializableType.java:105)
at org.hibernate.type.SerializableType.get(SerializableType.java:62)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:184)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:173)
at org.hibernate.type.AbstractType.hydrate(AbstractType.java:105)
at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2114)
at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1404)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1332)
at org.hibernate.loader.Loader.getRow(Loader.java:1230)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:603)
at org.hibernate.loader.Loader.doQuery(Loader.java:724)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2232)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
at org.hibernate.loader.Loader.list(Loader.java:2124)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1149)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:67)
... 90 more
Caused by: java.io.StreamCorruptedException: invalid stream header: 00000000
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:783)
at java.io.ObjectInputStream.<init>(ObjectInputStream.java:280)
at org.hibernate.util.SerializationHelper$CustomObjectInputStream.<init>(SerializationHelper.java:223)
at org.hibernate.util.SerializationHelper.deserialize(SerializationHelper.java:180)
... 112 more
11:15:11,624 WARN [JDBCExceptionReporter] SQL Error: 0, SQLState: null
11:15:11,624 ERROR [JDBCExceptionReporter] Transaction is not active: tx=TransactionImple < ac, BasicAction: 7f000101:c441:4c32f37e:6f status: ActionStatus.ABORT_ONLY >; - nested throwable: (javax.resource.ResourceException: Transaction is not active: tx=TransactionImple < ac, BasicAction: 7f000101:c441:4c32f37e:6f status: ActionStatus.ABORT_ONLY >)


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.