Hi
@Query is currently only available on Repository methods. We discussed
adding it to domain entity classes, and decided to defer that for M1,
primarily for complexity/performance reasons. (Imagine a node entity with
10 @Query annotations and then a request to load a couple of hundred of
those entities in one go). In the worst case (naive) scenario, a single
request end up hitting the database thousands of times.
As an alternative, you can do this:
public class Agency {
@Relationship(type="BELONG_TO", direction=Relationship.INCOMING)
private List<Employee> employees
private int numberOfEmployees() {
return employees.size();
}
}
By default, when you load an entity, its immediate neighbours in the graph
will be loaded as well, so you will get the Employees information when you
make a request for an Agency.
Vince
On Monday, 20 April 2015 14:57:24 UTC+1, Leward wrote:
>
> Hello,
>
> With Spring Data Neo4j 3.X I used to have the following in my entities:
>
> @NodeEntity
> public class Agency {
>
> @GraphId
> private Long id;
>
> private String name
>
> @Query("start n=node({self}) match n<-[:BELONG_TO]-(u:User) return
> count(u);")
> private int numberOfEmployees;
>
> }
>
> However in SDN 4.0.0M1 the @Query annotation only applies to method. It is
> written in the documentation that this works for repository methods,
> however nothing is mentioned about using the @Query annotation.
>
> Does SDN support such a thing?
>
> If the answer is no, I guess I can make it work in one query with Cypher
> (getting the agency and the count of agency members), but then how to map
> it back to a proper SDN entity?
>
> Kind Regards,
> Leward
>
--
You received this message because you are subscribed to the Google Groups
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.