You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by "Romain Manni-Bucau (Jira)" <ji...@apache.org> on 2022/07/25 12:32:00 UTC

[jira] [Commented] (OPENJPA-2903) compatibility with MariaDB Java Client 3.0.6

    [ 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)