neo4j RelationshipEntity not created
I'm having issues getting a neo4j RelationshipEntity persisted with Spring Boot. I'm using spring-boot-starter-data-neo4j (2.1.0.RELEASE), and the neo4j docker image tagged 3.4.9.
I have a simple NodeEntity, which contains a collection for the RelationshipEntity:
@NodeEntity
public class Book {
@Id
@GeneratedValue
private Long id;
private String name;
public Book() {}
public Book(String name) {
this.name = name;
}
@Relationship(type = "PURCHASED_WITH", direction = "OUTGOING")
private Set<BookPurchase> purchases = new HashSet<>();
// getters and setters follow
}
I have another NodeEntity, which also contains a collection for the relationship entity:
@NodeEntity
public class CreditCard {
@Id
@GeneratedValue
private Long id;
private String number;
@DateString(value = "yyyy-MM-dd")
private Date expiryDate;
public CreditCard() {}
public CreditCard(String number, Date expiryDate) {
this.number = number;
this.expiryDate = expiryDate;
}
@Relationship(type = "PURCHASED_WITH", direction = "INCOMING")
private Set<BookPurchase> purchases = new HashSet<BookPurchase>();
// getters and setters follow
}
I have the RelationshipEntity, which adds references to both NodeEntity classes in the constructor:
@RelationshipEntity(type = "PURCHASED_WITH")
public class BookPurchase {
@Id
@GeneratedValue
private long id;
@DateString("yyyy-MM-dd")
Date purchaseDate;
@StartNode
private Book book;
@EndNode
private CreditCard card;
public BookPurchase(){}
public BookPurchase(CreditCard card, Book book, Date purchaseDate) {
this.card = card;
this.book = book;
this.purchaseDate = purchaseDate;
this.card.getPurchases().add(this);
this.book.getPurchases().add(this);
}
// getters and setters follow
}
And finally I have the Spring controller tying everything together:
@RestController
public class ExamplesController {
@Autowired
CreditCardRepository creditCardRepository;
@PostMapping(value="/purchases")
public String createPurchases() {
CreditCard card = new CreditCard("11111", new GregorianCalendar(2018, Calendar.FEBRUARY, 12).getTime());
Book book1 = new Book("of mice and men");
BookPurchase purchase1 = new BookPurchase(card,book1,new GregorianCalendar(2018, Calendar.MARCH, 15).getTime());
creditCardRepository.save(card);
return "Successfully created entities";
}
}
Whenever I try to curl -X POST http://localhost:8080/purchases
, I just see the following in the neo4j browser - the RelationshipEntity is not persisted, only the nodes.
Can anyone assist?
spring-boot graph neo4j relationship
add a comment |
I'm having issues getting a neo4j RelationshipEntity persisted with Spring Boot. I'm using spring-boot-starter-data-neo4j (2.1.0.RELEASE), and the neo4j docker image tagged 3.4.9.
I have a simple NodeEntity, which contains a collection for the RelationshipEntity:
@NodeEntity
public class Book {
@Id
@GeneratedValue
private Long id;
private String name;
public Book() {}
public Book(String name) {
this.name = name;
}
@Relationship(type = "PURCHASED_WITH", direction = "OUTGOING")
private Set<BookPurchase> purchases = new HashSet<>();
// getters and setters follow
}
I have another NodeEntity, which also contains a collection for the relationship entity:
@NodeEntity
public class CreditCard {
@Id
@GeneratedValue
private Long id;
private String number;
@DateString(value = "yyyy-MM-dd")
private Date expiryDate;
public CreditCard() {}
public CreditCard(String number, Date expiryDate) {
this.number = number;
this.expiryDate = expiryDate;
}
@Relationship(type = "PURCHASED_WITH", direction = "INCOMING")
private Set<BookPurchase> purchases = new HashSet<BookPurchase>();
// getters and setters follow
}
I have the RelationshipEntity, which adds references to both NodeEntity classes in the constructor:
@RelationshipEntity(type = "PURCHASED_WITH")
public class BookPurchase {
@Id
@GeneratedValue
private long id;
@DateString("yyyy-MM-dd")
Date purchaseDate;
@StartNode
private Book book;
@EndNode
private CreditCard card;
public BookPurchase(){}
public BookPurchase(CreditCard card, Book book, Date purchaseDate) {
this.card = card;
this.book = book;
this.purchaseDate = purchaseDate;
this.card.getPurchases().add(this);
this.book.getPurchases().add(this);
}
// getters and setters follow
}
And finally I have the Spring controller tying everything together:
@RestController
public class ExamplesController {
@Autowired
CreditCardRepository creditCardRepository;
@PostMapping(value="/purchases")
public String createPurchases() {
CreditCard card = new CreditCard("11111", new GregorianCalendar(2018, Calendar.FEBRUARY, 12).getTime());
Book book1 = new Book("of mice and men");
BookPurchase purchase1 = new BookPurchase(card,book1,new GregorianCalendar(2018, Calendar.MARCH, 15).getTime());
creditCardRepository.save(card);
return "Successfully created entities";
}
}
Whenever I try to curl -X POST http://localhost:8080/purchases
, I just see the following in the neo4j browser - the RelationshipEntity is not persisted, only the nodes.
Can anyone assist?
spring-boot graph neo4j relationship
What doesMATCH (n) OPTIONAL MATCH ()-[r]->() RETURN *
return? Your shown query only returns nodes, and by default (depending on Neo4j version), auto relation linking in the browser is turned off (and you didn't say if you clicked the expand relationships button at the bottom of the circle of options)
– Tezra
Nov 15 '18 at 20:11
@Tezra thanks for your reply. I get the same result with the above query. Additionally, the browser highlights there are 'No relationships in database' under the 'Database information' view
– dwaynetherock
Nov 16 '18 at 1:35
add a comment |
I'm having issues getting a neo4j RelationshipEntity persisted with Spring Boot. I'm using spring-boot-starter-data-neo4j (2.1.0.RELEASE), and the neo4j docker image tagged 3.4.9.
I have a simple NodeEntity, which contains a collection for the RelationshipEntity:
@NodeEntity
public class Book {
@Id
@GeneratedValue
private Long id;
private String name;
public Book() {}
public Book(String name) {
this.name = name;
}
@Relationship(type = "PURCHASED_WITH", direction = "OUTGOING")
private Set<BookPurchase> purchases = new HashSet<>();
// getters and setters follow
}
I have another NodeEntity, which also contains a collection for the relationship entity:
@NodeEntity
public class CreditCard {
@Id
@GeneratedValue
private Long id;
private String number;
@DateString(value = "yyyy-MM-dd")
private Date expiryDate;
public CreditCard() {}
public CreditCard(String number, Date expiryDate) {
this.number = number;
this.expiryDate = expiryDate;
}
@Relationship(type = "PURCHASED_WITH", direction = "INCOMING")
private Set<BookPurchase> purchases = new HashSet<BookPurchase>();
// getters and setters follow
}
I have the RelationshipEntity, which adds references to both NodeEntity classes in the constructor:
@RelationshipEntity(type = "PURCHASED_WITH")
public class BookPurchase {
@Id
@GeneratedValue
private long id;
@DateString("yyyy-MM-dd")
Date purchaseDate;
@StartNode
private Book book;
@EndNode
private CreditCard card;
public BookPurchase(){}
public BookPurchase(CreditCard card, Book book, Date purchaseDate) {
this.card = card;
this.book = book;
this.purchaseDate = purchaseDate;
this.card.getPurchases().add(this);
this.book.getPurchases().add(this);
}
// getters and setters follow
}
And finally I have the Spring controller tying everything together:
@RestController
public class ExamplesController {
@Autowired
CreditCardRepository creditCardRepository;
@PostMapping(value="/purchases")
public String createPurchases() {
CreditCard card = new CreditCard("11111", new GregorianCalendar(2018, Calendar.FEBRUARY, 12).getTime());
Book book1 = new Book("of mice and men");
BookPurchase purchase1 = new BookPurchase(card,book1,new GregorianCalendar(2018, Calendar.MARCH, 15).getTime());
creditCardRepository.save(card);
return "Successfully created entities";
}
}
Whenever I try to curl -X POST http://localhost:8080/purchases
, I just see the following in the neo4j browser - the RelationshipEntity is not persisted, only the nodes.
Can anyone assist?
spring-boot graph neo4j relationship
I'm having issues getting a neo4j RelationshipEntity persisted with Spring Boot. I'm using spring-boot-starter-data-neo4j (2.1.0.RELEASE), and the neo4j docker image tagged 3.4.9.
I have a simple NodeEntity, which contains a collection for the RelationshipEntity:
@NodeEntity
public class Book {
@Id
@GeneratedValue
private Long id;
private String name;
public Book() {}
public Book(String name) {
this.name = name;
}
@Relationship(type = "PURCHASED_WITH", direction = "OUTGOING")
private Set<BookPurchase> purchases = new HashSet<>();
// getters and setters follow
}
I have another NodeEntity, which also contains a collection for the relationship entity:
@NodeEntity
public class CreditCard {
@Id
@GeneratedValue
private Long id;
private String number;
@DateString(value = "yyyy-MM-dd")
private Date expiryDate;
public CreditCard() {}
public CreditCard(String number, Date expiryDate) {
this.number = number;
this.expiryDate = expiryDate;
}
@Relationship(type = "PURCHASED_WITH", direction = "INCOMING")
private Set<BookPurchase> purchases = new HashSet<BookPurchase>();
// getters and setters follow
}
I have the RelationshipEntity, which adds references to both NodeEntity classes in the constructor:
@RelationshipEntity(type = "PURCHASED_WITH")
public class BookPurchase {
@Id
@GeneratedValue
private long id;
@DateString("yyyy-MM-dd")
Date purchaseDate;
@StartNode
private Book book;
@EndNode
private CreditCard card;
public BookPurchase(){}
public BookPurchase(CreditCard card, Book book, Date purchaseDate) {
this.card = card;
this.book = book;
this.purchaseDate = purchaseDate;
this.card.getPurchases().add(this);
this.book.getPurchases().add(this);
}
// getters and setters follow
}
And finally I have the Spring controller tying everything together:
@RestController
public class ExamplesController {
@Autowired
CreditCardRepository creditCardRepository;
@PostMapping(value="/purchases")
public String createPurchases() {
CreditCard card = new CreditCard("11111", new GregorianCalendar(2018, Calendar.FEBRUARY, 12).getTime());
Book book1 = new Book("of mice and men");
BookPurchase purchase1 = new BookPurchase(card,book1,new GregorianCalendar(2018, Calendar.MARCH, 15).getTime());
creditCardRepository.save(card);
return "Successfully created entities";
}
}
Whenever I try to curl -X POST http://localhost:8080/purchases
, I just see the following in the neo4j browser - the RelationshipEntity is not persisted, only the nodes.
Can anyone assist?
spring-boot graph neo4j relationship
spring-boot graph neo4j relationship
edited Nov 15 '18 at 19:23
dwaynetherock
asked Nov 15 '18 at 18:51
dwaynetherockdwaynetherock
133
133
What doesMATCH (n) OPTIONAL MATCH ()-[r]->() RETURN *
return? Your shown query only returns nodes, and by default (depending on Neo4j version), auto relation linking in the browser is turned off (and you didn't say if you clicked the expand relationships button at the bottom of the circle of options)
– Tezra
Nov 15 '18 at 20:11
@Tezra thanks for your reply. I get the same result with the above query. Additionally, the browser highlights there are 'No relationships in database' under the 'Database information' view
– dwaynetherock
Nov 16 '18 at 1:35
add a comment |
What doesMATCH (n) OPTIONAL MATCH ()-[r]->() RETURN *
return? Your shown query only returns nodes, and by default (depending on Neo4j version), auto relation linking in the browser is turned off (and you didn't say if you clicked the expand relationships button at the bottom of the circle of options)
– Tezra
Nov 15 '18 at 20:11
@Tezra thanks for your reply. I get the same result with the above query. Additionally, the browser highlights there are 'No relationships in database' under the 'Database information' view
– dwaynetherock
Nov 16 '18 at 1:35
What does
MATCH (n) OPTIONAL MATCH ()-[r]->() RETURN *
return? Your shown query only returns nodes, and by default (depending on Neo4j version), auto relation linking in the browser is turned off (and you didn't say if you clicked the expand relationships button at the bottom of the circle of options)– Tezra
Nov 15 '18 at 20:11
What does
MATCH (n) OPTIONAL MATCH ()-[r]->() RETURN *
return? Your shown query only returns nodes, and by default (depending on Neo4j version), auto relation linking in the browser is turned off (and you didn't say if you clicked the expand relationships button at the bottom of the circle of options)– Tezra
Nov 15 '18 at 20:11
@Tezra thanks for your reply. I get the same result with the above query. Additionally, the browser highlights there are 'No relationships in database' under the 'Database information' view
– dwaynetherock
Nov 16 '18 at 1:35
@Tezra thanks for your reply. I get the same result with the above query. Additionally, the browser highlights there are 'No relationships in database' under the 'Database information' view
– dwaynetherock
Nov 16 '18 at 1:35
add a comment |
1 Answer
1
active
oldest
votes
Thanks to Gerrit Meier for answering this one. My RelationshipEntity was using the primitive long
instead of the object/wrapper Long
. Complete details here: https://community.neo4j.com/t/neo4j-relationshipentity-not-persisted/3039
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53326136%2fneo4j-relationshipentity-not-created%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks to Gerrit Meier for answering this one. My RelationshipEntity was using the primitive long
instead of the object/wrapper Long
. Complete details here: https://community.neo4j.com/t/neo4j-relationshipentity-not-persisted/3039
add a comment |
Thanks to Gerrit Meier for answering this one. My RelationshipEntity was using the primitive long
instead of the object/wrapper Long
. Complete details here: https://community.neo4j.com/t/neo4j-relationshipentity-not-persisted/3039
add a comment |
Thanks to Gerrit Meier for answering this one. My RelationshipEntity was using the primitive long
instead of the object/wrapper Long
. Complete details here: https://community.neo4j.com/t/neo4j-relationshipentity-not-persisted/3039
Thanks to Gerrit Meier for answering this one. My RelationshipEntity was using the primitive long
instead of the object/wrapper Long
. Complete details here: https://community.neo4j.com/t/neo4j-relationshipentity-not-persisted/3039
answered Nov 18 '18 at 4:40
dwaynetherockdwaynetherock
133
133
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53326136%2fneo4j-relationshipentity-not-created%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
What does
MATCH (n) OPTIONAL MATCH ()-[r]->() RETURN *
return? Your shown query only returns nodes, and by default (depending on Neo4j version), auto relation linking in the browser is turned off (and you didn't say if you clicked the expand relationships button at the bottom of the circle of options)– Tezra
Nov 15 '18 at 20:11
@Tezra thanks for your reply. I get the same result with the above query. Additionally, the browser highlights there are 'No relationships in database' under the 'Database information' view
– dwaynetherock
Nov 16 '18 at 1:35