[ 
https://issues.apache.org/jira/browse/OPENJPA-2903?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17570873#comment-17570873
 ] 

Romain Manni-Bucau commented on OPENJPA-2903:
---------------------------------------------

Hi [~pduroux] ,

 

Can depend the mapping you did but if it is JPA compliant it means a 
mariadbblob is returned instead of a byte array (in your class I assume, maybe 
without @Lob).

Can need to use the dictionary to map the type properly in 
[https://github.com/apache/openjpa/blob/c3da147fc922dcd56c3a62c951bebac0d870d8cd/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ResultPacker.java#L268]
 (or Filters#convert)

> compatibility with MariaDB Java Client 3.0.6
> --------------------------------------------
>
>                 Key: OPENJPA-2903
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-2903
>             Project: OpenJPA
>          Issue Type: Wish
>    Affects Versions: 3.2.0
>         Environment: Operating System: Ubuntu
> JRE: OpenJDK Runtime Environment (build 11.0.16+8-post-Ubuntu-0ubuntu1)
>            Reporter: Patrice DUROUX
>            Assignee: Romain Manni-Bucau
>            Priority: Trivial
>
> Hi,
> Here is what I got at runtime upgrading the MariaDB Java Client from 2.7.6 to 
> 3.0.6:
>  
> {noformat}
> <openjpa-3.2.0-r6f721f6 nonfatal user error> 
> org.apache.openjpa.persistence.ArgumentException: There was an error packing 
> the projection and/or aggregate results of the query into result type "class 
> org.imgt.model.genedb2.CustomBeanLIGMDB". See the nested Throwable exception 
> for details. FailedObject: SELECT sa.gene AS gene,sa.species AS 
> species,sa.exon AS exon,sa.number AS alleleNumber,se.seqnuc AS 
> fullSeq,fe2.feadeb AS posDeb,fe2.feafin AS posFin,sa.numacc AS 
> numacc,fe2.phase AS phase,sa.taxon AS taxon,fe2.partial AS 
> partiality,fe2.complement AS rc,sa.ordre AS exonorder FROM genedb.seqalleles 
> sa,ligmdb_v12.sequences se,ligmdb_v12.features fe1,ligmdb_v12.features 
> fe2,ontology.labels la1,ontology.labels la2 WHERE sa.is_ref=1 AND 
> sa.numacc=se.numacc AND sa.numacc=fe1.numacc AND sa.feanum=fe1.feanum AND 
> sa.labcode=fe1.labcode AND la1.label=sa.exon AND la1.labcode=la2.labcode AND 
> la2.labcode=fe2.labcode AND sa.numacc=fe2.numacc AND fe1.feadeb<=fe2.feadeb 
> AND fe2.feafin<=fe1.feafin AND sa.gene=? AND sa.species=? AND sa.numacc=? AND 
> sa.exon=? [java.lang.String] at 
> org.apache.openjpa.kernel.ResultPacker.packUserType(ResultPacker.java:299) at 
> org.apache.openjpa.kernel.ResultPacker.pack(ResultPacker.java:262) at 
> org.apache.openjpa.jdbc.kernel.SQLProjectionResultObjectProvider.getResultObject(SQLProjectionResultObjectProvider.java:98)
>  at 
> org.apache.openjpa.lib.rop.EagerResultList.<init>(EagerResultList.java:38) at 
> org.apache.openjpa.kernel.QueryImpl.toResult(QueryImpl.java:1314) at 
> org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:1061) at 
> org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:911) at 
> org.apache.openjpa.kernel.QueryImpl.execute(QueryImpl.java:842) at 
> org.apache.openjpa.kernel.DelegatingQuery.execute(DelegatingQuery.java:601) 
> at org.apache.openjpa.persistence.QueryImpl.execute(QueryImpl.java:297) at 
> org.apache.openjpa.persistence.QueryImpl.getResultList(QueryImpl.java:314) at 
> org.imgt.dao.GENEDBDAO.getLIGMDBentries(GENEDBDAO.java:590) at 
> org.imgt.dao.GENEDBDAO.getLIGMDBentries(GENEDBDAO.java:616) at 
> org.imgt.util.fasta.GeneFastaSeq2.getFastaSeq(GeneFastaSeq2.java:46) at 
> org.imgt.toolbox.genedb.GenedbFlatFile.run(GenedbFlatFile.java:81) at 
> org.imgt.tools.cmd.FFile.run(FFile.java:18) at 
> picocli.CommandLine.executeUserObject(CommandLine.java:1939) at 
> picocli.CommandLine.access$1300(CommandLine.java:145) at 
> picocli.CommandLine$RunAll.recursivelyExecuteUserObject(CommandLine.java:2431)
>  at 
> picocli.CommandLine$RunAll.recursivelyExecuteUserObject(CommandLine.java:2433)
>  at picocli.CommandLine$RunAll.handle(CommandLine.java:2428) at 
> picocli.CommandLine$RunAll.handle(CommandLine.java:2389) at 
> picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2179) 
> at picocli.CommandLine$RunAll.execute(CommandLine.java:2391) at 
> picocli.CommandLine.execute(CommandLine.java:2078) at 
> org.imgt.tools.SeqTool.main(SeqTool.java:19) Caused by: 
> java.lang.ClassCastException: Cannot convert object 
> "org.mariadb.jdbc.MariaDbBlob@2178ae3b" of type "class 
> org.mariadb.jdbc.MariaDbBlob" into an instance of "class [B". at 
> org.apache.openjpa.kernel.Filters.convert(Filters.java:395) at 
> org.apache.openjpa.kernel.Filters.convert(Filters.java:271) at 
> org.apache.openjpa.kernel.ResultPacker.packUserType(ResultPacker.java:280) 
> ... 25 more{noformat}
> Not sure on which side (OpenJPA? MariaDB Java Client?) the problem belongs to.
> Regards,
> Patrice



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to