3
일부 노드를 Neo4j DB에 삽입했습니다. 데이터베이스에서 노드를 선택하고 특정 클래스로 캐스팅하려고합니다.Neo4j : spring-data-neo4j, 결과를 내 형식 클래스로 변환하는 방법?
+-------------------------------------------------------------------------+
| Node[11]{career:"programmer",name:"kelvin",age:35,introduce:"lazy doy"} |
+-------------------------------------------------------------------------+
@NodeEntity
class User {
@GraphId
Long id;
String name;
int age;
}
난 그냥 DB에서 노드의 ID, 이름, 나이를 얻을과에 넣어 원하는 : 같은 노드에 대한
class Service {
Neo4jTemplate neo4jTemplate
@Transactional
def find() {
def id1 = 11
//Knowledge k = neo4jTemplate.findOne(1, Knowledge)
Result result = neo4jTemplate.query("start n=node(11) return ID(n),n.name,n.age;", null)
//how to cast the result to User class
println "the tpye of result called User is "+ result.to(User.class).is(cn.edu.bnuz.itc.bok.sub2.User.class)
}
}
세부 : 여기
문제에 대한 몇 가지 코드입니다 사용자 클래스. 그러나 많은 방법으로 많은 시간을 실패했습니다.다음과 같은 문제가 있습니다. 결과를 대상 클래스에 어떻게 캐스트 할 수 있습니까? 나는 캐스트하는 많은 방법을 시도했지만 마침내 실패합니다. 당신의 관심에 감사드립니다.
이제 작동합니다. 정말 고마워요. 나는 이것을 달성하기 위해 다음과 같은 방법을 시도했다. 결과 결과 = neo4jTemplate.query ("시작 n = 노드 (11) 반환 ID (n), n.name, n.age;", null) 목록 list = result.collect {new User (it) } 두 가지 방법으로 내 요구 사항을 충족시킬 수 있습니다. 결국 감사드립니다. –
다음과 같이 사용할 수도 있습니다 :'result.to (User.class) .as (List.class)' –