2017-10-10 11 views
0

Mon DAO obtient des informations de la base de données en utilisant cette ligne de code.Comment convertir un objet Java en chaîne?

public Object[] getTagData() { 
    List TagData = entityManager.createNativeQuery("SELECT sub.name, count(st.tags_tagId) as tagCount FROM subject as sub LEFT JOIN subject_tag st on st.subject_subjectId = sub.subjectId GROUP BY sub.name;") 
      .getResultList(); 

    return TagData.toArray(); 
} 

Il retourne

[Ljava.lang.Object; @ 27d027d

je dois convertir en une chaîne pour que je sache sous quelle forme il sera de retour.

+0

vous pouvez passer votre DAO dans createNativeQuery en tant que second paramètre et redéfinit toString. – Optional

+0

@lexicore ce n'est pas un tableau String, c'est un tableau d'objet 2 dimensions –

+0

@Optional J'ai complètement raté la première ligne de la question: - | J'ai supprimé ma réponse. – notyou

Répondre

0

Comme le résultat n'est pas stocké dans une entité, alors il est retourné comme un tableau d'objets, ou plutôt un Object [][]

utiliser un débogueur et inspectez l'objet que vous verrez que TagData[0][0] contient la première colonne du première rangée

Soit vous pouvez créer une entité spécialisée pour elle et l'utiliser comme par http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html#createNativeQuery(java.lang.String, java.lang.Class)

ou tout simplement itérer les deux tableau dim