Je voudrais récupérer les propriétés de l'entité dans un format comme celui-ci: property_name: value
.Hibernate Neo4j récupérer le résultat dans un formulaire de valeur-clé
Je suis en train d'obtenir le résultat de cette façon:
public void retrievePerson(){
EntityManagerFactory emf = Persistence.createEntityManagerFactory("persistence");
EntityManager em = emf.createEntityManager();
EntityTransaction tx = em.getTransaction();
tx.begin();
try{
String query = "MATCH (p:Person {id:3}) RETURN p.firstname, p.lastname";
List<Object[]> person = (List<Object[]>) em.createNativeQuery(query).getResultList();
em.flush();
tx.commit();
em.clear();
em.close();
emf.close();
}
catch (HibernateException e) {
if (tx!=null) tx.rollback();
e.printStackTrace();
}
}
J'ai lu quelque part l'objet retourné par la requête est une entité gérée.
Je voudrais que le résultat soit comme ceci: {"firstname":"Jon", "lastname":"Smith"}
J'ai trouvé ce setResultTransformer(AliasToEntityMapResultTransformer.INSTANCE
qui pourrait être quelque chose que je cherche, mais je suis incapable de le faire fonctionner.
Existe-t-il un moyen d'y parvenir?
Cela fonctionne très bien. J'obtiens un résultat comme ceci '[{prénom = Jon, nom = Smith}]'. Je peux convertir ce tableau en JSON approprié par la suite. – Porjaz
@Porjaz Essayez cette astuce: 'MATCH (p: Personne {id: 3}) RETURN recueillir ({prénom: p.firstname, nom: p.lastname}) [0]' –
Il leur donne toujours dans le même format '[{firstname = Jon, last = Smith}]' – Porjaz