/** * 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 WithoutId { //@Id not implemented yet @Id public String identifier; }
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 Michael J. Simons */ @NodeEntity public abstract class LabeledEntity { @Id protected String uuid; }
/** * @author Andreas Berger */ abstract class BaseEntity { @Id @GeneratedValue private Long id; public Long getId() { return id; } }
public abstract class MostBasicEntity { @Id @Convert(UuidStringConverter.class) private UUID myId; public UUID getMyId() { return myId; } public void setMyId(UUID myId) { this.myId = myId; } }
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; } }
public static class UuidIdAndGenerationTypeWithoutIdAttribute { @Id @GeneratedValue(strategy = UuidStrategy.class) @Convert(UuidStringConverter.class) public UUID identifier; }
@RelationshipEntity(type = "LIKES") static class Likes { Long id; @Id String uuid; @StartNode User from; @EndNode User to; int stars; } }