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 get the Employees information when you make
a request for an Agency.
On behalf of Vince Bickers.
On Wed, Apr 22, 2015 at 1:28 PM, Leward <[email protected]> wrote:
> Hello,
>
> If you look at the source code for @Query here:
> https://github.com/spring-projects/spring-data-neo4j/blob/4.0/spring-data-neo4j/src/main/java/org/springframework/data/neo4j/annotation/Query.java
> you will see the following:
>
> @Retention(RetentionPolicy.RUNTIME)
> @Target(ElementType.METHOD)
> @QueryAnnotation
> @Documented
> public @interface Query {
>
> It states that the annotation will work only when applied to methods.
>
>
> 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.
>
--
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.