[ 
https://issues.apache.org/jira/browse/OPENJPA-2705?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Will Dazey updated OPENJPA-2705:
--------------------------------
    Description: 
Introduced with 
[OPENJPA-2631|https://issues.apache.org/jira/browse/OPENJPA-2631].

Exception:
Caused by: java.lang.ArrayIndexOutOfBoundsException
at 
org.apache.openjpa.jdbc.meta.ClassMapping.toDataStoreValue(ClassMapping.java:272)
at 
org.apache.openjpa.jdbc.kernel.exps.CollectionParam.calculateValue(CollectionParam.java:174)

Reproduce:

Entities:
{code:java}
@Entity
public class IdentificationBO {
        @EmbeddedId private BoIdVersion boId;
}
{code}

{code:java}
@Embeddable
public class BoIdVersion {
        private Long id;
        private Long version;
}
{code}

Test:

{code:java}
        @Test
        public void queryTest() {
                EntityManager em = emf.createEntityManager();
                EntityTransaction et = em.getTransaction();
                et.begin();

                Query q = em.createQuery("SELECT DISTINCT Ident FROM 
IdentificationBO Ident WHERE Ident.boId in :identificationList");
                q.setParameter("identificationList", Arrays.asList(new 
BoIdVersion(new Long(1)), new BoIdVersion(new Long(2)), new BoIdVersion(new 
Long(3))));
                //Exception on execution of this line
                q.getResultList();

                if ((et != null) && (et.isActive())) {
                        et.rollback();
                }
                em.close();
        }
{code}



  was:
Introduced with 
[OPENJPA-2631|https://issues.apache.org/jira/browse/OPENJPA-2631].

Exception:
Caused by: java.lang.ArrayIndexOutOfBoundsException
at 
org.apache.openjpa.jdbc.meta.ClassMapping.toDataStoreValue(ClassMapping.java:272)
at 
org.apache.openjpa.jdbc.kernel.exps.CollectionParam.calculateValue(CollectionParam.java:174)

Reproduce:

Entities:
@Entity
public class IdentificationBO {
        @EmbeddedId private BoIdVersion boId;
}
@Embeddable
public class BoIdVersion {
        private Long id;
        private Long version;
}

Test:
Query q = em.createQuery("SELECT DISTINCT Ident FROM IdentificationBO Ident 
WHERE Ident.boId in :identificationList");
q.setParameter("identificationList", Arrays.asList(new BoIdVersion(new 
Long(1)), new BoIdVersion(new Long(2)), new BoIdVersion(new Long(3))));
//Exception encountered here
q.getResultList();


> ArrayOutOfBoundsException occurs with an @EmbeddedId
> ----------------------------------------------------
>
>                 Key: OPENJPA-2705
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2705
>             Project: OpenJPA
>          Issue Type: Bug
>          Components: jpa
>    Affects Versions: 2.1.1
>            Reporter: Will Dazey
>
> Introduced with 
> [OPENJPA-2631|https://issues.apache.org/jira/browse/OPENJPA-2631].
> Exception:
> Caused by: java.lang.ArrayIndexOutOfBoundsException
> at 
> org.apache.openjpa.jdbc.meta.ClassMapping.toDataStoreValue(ClassMapping.java:272)
> at 
> org.apache.openjpa.jdbc.kernel.exps.CollectionParam.calculateValue(CollectionParam.java:174)
> Reproduce:
> Entities:
> {code:java}
> @Entity
> public class IdentificationBO {
>       @EmbeddedId private BoIdVersion boId;
> }
> {code}
> {code:java}
> @Embeddable
> public class BoIdVersion {
>       private Long id;
>       private Long version;
> }
> {code}
> Test:
> {code:java}
>       @Test
>       public void queryTest() {
>               EntityManager em = emf.createEntityManager();
>               EntityTransaction et = em.getTransaction();
>               et.begin();
>               Query q = em.createQuery("SELECT DISTINCT Ident FROM 
> IdentificationBO Ident WHERE Ident.boId in :identificationList");
>               q.setParameter("identificationList", Arrays.asList(new 
> BoIdVersion(new Long(1)), new BoIdVersion(new Long(2)), new BoIdVersion(new 
> Long(3))));
>                 //Exception on execution of this line
>               q.getResultList();
>               if ((et != null) && (et.isActive())) {
>                       et.rollback();
>               }
>               em.close();
>       }
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to