エンティティプロパティを次のような形式で取得したいと考えています:property_name: value
。Hibernate Neo4jがキー値形式で結果を取得します
私は結果をこのように取得しようとしています:
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();
}
}
私は、クエリによって返されたオブジェクトを管理するエンティティであるどこかで読みました。
私はこのようになり、結果を希望:私は私が探しています何かをかもしれない。このsetResultTransformer(AliasToEntityMapResultTransformer.INSTANCE
を発見したが、私はそれが仕事を得ることができません{"firstname":"Jon", "lastname":"Smith"}
。
これを達成する方法はありますか?あなたが実体であるために、戻り値を探しているなら、これは動作します
MATCH (p:Person {id:3})
RETURN { firstname: p.firstname, lastname: p.lastname }
これは問題なく動作します。私はこのような結果を得ています[{firstname = Jon、lastname = Smith}]。この配列を適切なJSONに変換することができます。 – Porjaz
@Porjazこのトリックを試してください: 'MATCH(P:人{ID:3})({:p.firstname、LASTNAME:FIRSTNAME p.lastnameを}) RETURN収集[0]' –
それは依然として同じ形式でそれらを与えます'' {{firstname = Jon、lastname = Smith} '' – Porjaz