/** * A Movie node entity. * * @author Luanne Misquitta * @author Oliver Gierke * @author Michael J. Simons */ @NodeEntity(label = "Movie") @NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) @Getter public class Movie { private @Id @GeneratedValue Long id; private String title; private @Relationship(type = "ACTED_IN", direction = "INCOMING") Set<Role> roles = new HashSet<>(); public Movie(String title) { this.title = title; } }
/** * An Actor node entity. * * @author Luanne Misquitta * @author Oliver Gierke * @author Michael J. Simons */ @NodeEntity(label = "Actor") @NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) @Getter public class Actor { private @Id @GeneratedValue Long id; private String name; private @Relationship(type = "ACTED_IN") Set<Role> roles = new HashSet<>(); public Actor(String name) { this.name = name; } public void actedIn(Movie movie, String roleName) { Role role = new Role(this, roleName, movie); roles.add(role); movie.getRoles().add(role); } }
/** * A Role relationship entity between an actor and movie. * * @author Luanne Misquitta * @author Michael J. Simons */ @RelationshipEntity(type = "ACTED_IN") @NoArgsConstructor(force = true, access = AccessLevel.PRIVATE) @Getter public class Role { private @Id @GeneratedValue Long id; private @StartNode Actor actor; private String role; private @EndNode Movie movie; Role(Actor actor, String role, Movie movie) { this.actor = actor; this.role = role; this.movie = movie; } }
public static class IdAndGenerationType { public Long id; @Id @GeneratedValue(strategy = UuidStrategy.class) public String identifier; }
public static class WithCustomIdStrategy { public Long id; @Id @GeneratedValue(strategy = CustomIdStrategy.class) public String identifier; }
/** * @author Andreas Berger */ abstract class BaseEntity { @Id @GeneratedValue private Long id; public Long getId() { return id; } }
public static class WithCustomInstanceIdStrategy { public Long id; @Id @GeneratedValue(strategy = IdGenerationTest.CustomInstanceIdStrategy.class) public String identifier; }
@NodeEntity public static class Something { @Id @GeneratedValue private Long id; private String name; } }
@NodeEntity public class Pet { @Id @GeneratedValue private Long id; private String name; }
@NodeEntity("C") public static class C { @Id @GeneratedValue private Long id; private String name; }
public static class UuidIdAndGenerationType { public Long id; @Id @GeneratedValue(strategy = UuidStrategy.class) @Convert(UuidStringConverter.class) public UUID identifier; }
public static class UuidAndGenerationType { @Id @GeneratedValue(strategy = UuidStrategy.class) @Convert(UuidStringConverter.class) public UUID identifier; }
/** * @author Michal Bachman */ @NodeEntity public class AnnotatedSingleClass { @Id @GeneratedValue private Long nodeId; }
/** * @author Michal Bachman */ @NodeEntity public class AnnotatedConcreteParent { @Id @GeneratedValue private Long nodeId; }
@NodeEntity public class BaseNode { @Id @GeneratedValue public Long id; public String title; public BaseNode() { } public BaseNode(String title) { this.title = title; } }
@NodeEntity public class Hobby { @Id @GeneratedValue private Long id; private String name; }
public static class UuidIdAndGenerationTypeWithoutIdAttribute { @Id @GeneratedValue(strategy = UuidStrategy.class) @Convert(UuidStringConverter.class) public UUID identifier; }
/** * @author Michal Bachman */ @NodeEntity(label = "Single") public class AnnotatedNamedSingleClass { @Id @GeneratedValue private Long nodeId; }
/** * @author vince */ @NodeEntity public class JsonNode { @Id @GeneratedValue public Long id; @Convert(MapJson.class) public Map<String, Object> payload; }
@RelationshipEntity("PLAYS") public class Plays { @Id @GeneratedValue private Long id; @StartNode private User user; @EndNode private Hobby hobby; private String level; }