-
Notifications
You must be signed in to change notification settings - Fork 5
/
MovieRepository.java
32 lines (22 loc) · 1.31 KB
/
MovieRepository.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package org.neo4j.sdnlegacy.movie;
import org.neo4j.sdnlegacy.person.Actor;
import org.springframework.data.neo4j.repository.Neo4jRepository;
import org.springframework.data.repository.query.Param;
import org.springframework.data.neo4j.repository.query.Query;
import java.util.List;
/**
* @author Gerrit Meier
*/
public interface MovieRepository extends Neo4jRepository<MovieEntity, String> {
MovieEntity findByTitle(String movieTitle);
@Query("MATCH (m:Movie)<-[:ACTED_IN]-(p:Person) WHERE p.name = $actorName RETURN m")
List<MovieEntity> findMoviesByActorNameWithCypherPlaceholder(String actorName);
@Query("MATCH (m:Movie)<-[:ACTED_IN]-(p:Person) WHERE p.name = ?#{[0]} RETURN m")
List<MovieEntity> findMoviesByActorNameWithSpElIndexPlaceholder(String actorName);
@Query("MATCH (m:Movie)<-[:ACTED_IN]-(p:Person) WHERE p.name = :#{[0]} RETURN m")
List<MovieEntity> findMoviesByActorNameWithSpElIndexColonPlaceholder(String actorName);
@Query("MATCH (m:Movie)<-[:ACTED_IN]-(p:Person) WHERE p.name = :#{#actorName} RETURN m")
List<MovieEntity> findMoviesByActorNameWithSpElNamedPlaceholder(@Param("actorName") String actorName);
@Query("MATCH (m:Movie)<-[:ACTED_IN]-(p:Person) WHERE p.name = :#{#actor.name} RETURN m")
List<MovieEntity> findMoviesByActorNameWithSpElSearchObjectPlaceholder(@Param("actor") Actor actor);
}