Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Ejb e PostGis

  1. #1

    Ejb e PostGis

    Buongiorno,
    ho un problema con Netbeans e PostGis.
    Non riesco ad eseguire il mapping ad un tipo geometrico all'interno di una classe Entity.

    Di seguito riporto in dettaglio ogni singolo passaggio.

    In PostGres ho creato una Tabella "Addresses" con un campo di tipo geometrico per la memorizzazione delle coordinate geometriche di un luogo.
    In Netbeans, ho creato un nuovo progetto "Enterprise Application" (JavaEE) con annesso un modulo EJB, un modulo Web e un modulo Application client.

    Nel modulo EJB ho:
    - creato la Persistence Unit
    <?xml version="1.0" encoding="UTF-8"?>
    <persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persisten...stence_1_0.xsd">
    <persistence-unit name="EnterpriseApplication1-ejbPU" transaction-type="JTA">
    <provider>org.hibernate.ejb.HibernatePersistence </provider><jta-data-source>Prova</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
    <property name="hbm2ddl.auto" value="update"/>
    </properties>
    </persistence-unit>
    </persistence>


    - creato un Entity Class della tabella "Addresses"
    @Entity
    @Table(name = "addresses", catalog = "Prova", schema = "public")
    @NamedQueries({@NamedQuery(name = "Addresses.findAll", query = "SELECT a FROM Addresses a")
    public class Addresses implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @Basic(optional = false)
    @Column(name = "uid")
    private Integer uid;
    @Basic(optional = false)
    @Lob
    @Column(name = "longitude_latitude_point")
    private PGgeometry longitudeLatitudePoint;


    ...
    }


    - creato un Session Bean (Stateless e Remote) con il metodo seguente:
    @Stateless
    public class NewSessionBean implements NewSessionRemote {
    @PersistenceUnit(unitName = "EnterpriseApplication1-ejbPU")
    private EntityManagerFactory emf ;
    public List<Addresses> getAddresses() {
    EntityManager em = null;
    try {
    em = emf.createEntityManager();
    Query qry = em.createNamedQuery("Addresses.findAll");
    return qry.getResultList();

    } finally {
    if (em != null) {
    em.close();
    }
    }
    }
    }


    - nel modulo Application client all'interno del metodo main chiamato il metodo
    public class Main {
    @EJB
    private static NewSessionRemote newSessionBean;

    /**
    * @param args the command line arguments
    */
    public static void main(String[] args) {
    System.out.println("Records: " + newSessionBean.getAddresses());
    }
    }



    Eseguendo ilprogetto ottengo una eccezione che non riesco a gestire:

    Registering ad hoc servlet: WebPathPath: context root = "/EnterpriseApplication1", path = "/EnterpriseApplication1-app-client'
    Java Web Start services started for application com.sun.enterprise.appclient.jws.ApplicationConten tOrigin@1fc1cb1 registration name=EnterpriseApplication1
    com.sun.enterprise.appclient.jws.NestedAppclientCo ntentOrigin@bfa97b registration name=EnterpriseApplication1, context root=/EnterpriseApplication1/EnterpriseApplication1-app-client, module name=
    , parent=EnterpriseApplication1
    SQL Error: 0, SQLState: 22003
    Il valore «0101000020E610000091ED7C3F35662440DD274701A2C8464 0» non è adeguato al tipo «long».
    EJB5018: An exception was thrown during an ejb invocation on [NewSessionBean]
    javax.ejb.EJBException
    at com.sun.ejb.containers.BaseContainer.processSystem Exception(BaseContainer.java:3894)
    at com.sun.ejb.containers.BaseContainer.completeNewTx (BaseContainer.java:3794)
    at com.sun.ejb.containers.BaseContainer.postInvokeTx( BaseContainer.java:3596)
    at com.sun.ejb.containers.BaseContainer.postInvoke(Ba seContainer.java:1379)
    at com.sun.ejb.containers.BaseContainer.postInvoke(Ba seContainer.java:1316)
    at com.sun.ejb.containers.EJBObjectInvocationHandler. invoke(EJBObjectInvocationHandler.java:210)
    at com.sun.ejb.containers.EJBObjectInvocationHandlerD elegate.invoke(EJBObjectInvocationHandlerDelegate. java:117)
    at $Proxy43.getAdresses(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.corba.ee.impl.presentation.rmi.ReflectiveT ie._invoke(ReflectiveTie.java:154)
    at com.sun.corba.ee.impl.protocol.CorbaServerRequestD ispatcherImpl.dispatchToServant(CorbaServerRequest DispatcherImpl.java:687)
    at com.sun.corba.ee.impl.protocol.CorbaServerRequestD ispatcherImpl.dispatch(CorbaServerRequestDispatche rImpl.java:227)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediato rImpl.handleRequestRequest(CorbaMessageMediatorImp l.java:1846)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediato rImpl.handleRequest(CorbaMessageMediatorImpl.java: 1706)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediato rImpl.handleInput(CorbaMessageMediatorImpl.java:10 88)
    at com.sun.corba.ee.impl.protocol.giopmsgheaders.Requ estMessage_1_2.callback(RequestMessage_1_2.java:22 3)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediato rImpl.handleRequest(CorbaMessageMediatorImpl.java: 806)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediato rImpl.dispatch(CorbaMessageMediatorImpl.java:563)
    at com.sun.corba.ee.impl.protocol.CorbaMessageMediato rImpl.doWork(CorbaMessageMediatorImpl.java:2567)
    at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoo lImpl$WorkerThread.run(ThreadPoolImpl.java:555)
    Caused by: javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not execute query
    at org.hibernate.ejb.AbstractEntityManagerImpl.throwP ersistenceException(AbstractEntityManagerImpl.java :637)
    at org.hibernate.ejb.QueryImpl.getResultList(QueryImp l.java:74)
    at biz.edsteam.server.sessions.NewSessionBean.getAdre sses(NewSessionBean.java:29)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.sun.enterprise.security.application.EJBSecurit yManager.runMethod(EJBSecurityManager.java:1011)
    at com.sun.enterprise.security.SecurityUtil.invoke(Se curityUtil.java:175)
    at com.sun.ejb.containers.BaseContainer.invokeTargetB eanMethod(BaseContainer.java:2920)
    at com.sun.ejb.containers.BaseContainer.intercept(Bas eContainer.java:4011)
    at com.sun.ejb.containers.EJBObjectInvocationHandler. invoke(EJBObjectInvocationHandler.java:203)
    ... 17 more
    Caused by: org.hibernate.exception.DataException: could not execute query
    at org.hibernate.exception.SQLStateConverter.convert( SQLStateConverter.java:77)
    at org.hibernate.exception.JDBCExceptionHelper.conver t(JDBCExceptionHelper.java:43)
    at org.hibernate.loader.Loader.doList(Loader.java:222 3)
    at org.hibernate.loader.Loader.listIgnoreQueryCache(L oader.java:2104)
    at org.hibernate.loader.Loader.list(Loader.java:2099)
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoa der.java:378)
    at org.hibernate.hql.ast.QueryTranslatorImpl.list(Que ryTranslatorImpl.java:338)
    at org.hibernate.engine.query.HQLQueryPlan.performLis t(HQLQueryPlan.java:172)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.ja va:1121)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:7 9)
    at org.hibernate.ejb.QueryImpl.getResultList(QueryImp l.java:65)
    ... 27 more
    Caused by: org.postgresql.util.PSQLException: Il valore «0101000020E610000091ED7C3F35662440DD274701A2C8464 0» non è adeguato al tipo «long».
    at org.postgresql.jdbc2.AbstractJdbc2ResultSet.toLong (AbstractJdbc2ResultSet.java:2736)
    at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getLon g(AbstractJdbc2ResultSet.java:2032)
    at org.postgresql.jdbc3.Jdbc3ResultSet.getBlob(Jdbc3R esultSet.java:52)
    at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getBlo b(AbstractJdbc2ResultSet.java:337)
    at org.hibernate.type.BlobType.get(BlobType.java:57)
    at org.hibernate.type.BlobType.nullSafeGet(BlobType.j ava:111)
    at org.hibernate.type.AbstractType.hydrate(AbstractTy pe.java:81)
    at org.hibernate.persister.entity.AbstractEntityPersi ster.hydrate(AbstractEntityPersister.java:2096)
    at org.hibernate.loader.Loader.loadFromResultSet(Load er.java:1380)
    at org.hibernate.loader.Loader.instanceNotYetLoaded(L oader.java:1308)
    at org.hibernate.loader.Loader.getRow(Loader.java:120 6)
    at org.hibernate.loader.Loader.getRowFromResultSet(Lo ader.java:580)
    at org.hibernate.loader.Loader.doQuery(Loader.java:70 1)
    at org.hibernate.loader.Loader.doQueryAndInitializeNo nLazyCollections(Loader.java:236)
    at org.hibernate.loader.Loader.doList(Loader.java:222 0)
    ... 35 more


    Qualcuno può per cortesia darmi un aiuto?
    Grazie mille
    Laura

  2. #2
    Nessuno può aiutarmi per favore?

  3. #3
    Ciao,
    qualcuno ha mai usato Ejb3 e postgis utilizzando Netbeans?

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.