NodeEntity 不会持续存在
NodeEntity wont persist
我有以下 NodeEntity:
@NodeEntity(label = "Book")
public class Book{
private Long id;
private String content;
@Relationship(direction = Relationship.OUTGOING, type="WRITTEN_BY")
private User author;
}
其中 User
是
@NodeEntity(label = "User)
public class User{
private Long id;
private String username;
}
和BookRepository
@Repository
public interface BookRepository extends GraphRepository<Book> {
}
我构建了一个简单的 Rest-Controller 来在数据库中存储 Book
。
@Controller
@ResponseBody
@RequestMapping(path = "/books", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
@Transactional
public class BookController {
@Autowired
private BookRepository bookRepo;
@RequestMapping(method = RequestMethod.POST)
public Book createBook(@RequestBody Book book) {
return bookRepo.save(book);
}
当我现在POST
一本书JSON
{
"content":"Test content",
"author":{
"username":"Test-Username"
}
}
管理员,有两件事让我感到困惑:
首先,尽管 Book
和 User
都有其默认构造函数,但 book-object 中的 author 为空。
其次:这本书没有得到坚持。没有错误,我只是得到了相同的书籍对象返回(作者仍然为空)但仍然有一个空 ID。
在 neo4j 客户端上查询 MATCH n RETURN n
也没有任何结果。
我尝试从 `Book 中删除 User
对象,我认为错误就在那里,但我仍然遇到相同的行为。
我做错了什么?
有时一个问题单独讨论就解决了...我忘了把包含这本书的包裹放入
@Bean
public SessionFactory getSessionFactory() {
return new SessionFactory(/*Package of Book should have been here*/);
}
在Application
我有以下 NodeEntity:
@NodeEntity(label = "Book")
public class Book{
private Long id;
private String content;
@Relationship(direction = Relationship.OUTGOING, type="WRITTEN_BY")
private User author;
}
其中 User
是
@NodeEntity(label = "User)
public class User{
private Long id;
private String username;
}
和BookRepository
@Repository
public interface BookRepository extends GraphRepository<Book> {
}
我构建了一个简单的 Rest-Controller 来在数据库中存储 Book
。
@Controller
@ResponseBody
@RequestMapping(path = "/books", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
@Transactional
public class BookController {
@Autowired
private BookRepository bookRepo;
@RequestMapping(method = RequestMethod.POST)
public Book createBook(@RequestBody Book book) {
return bookRepo.save(book);
}
当我现在POST
一本书JSON
{
"content":"Test content",
"author":{
"username":"Test-Username"
}
}
管理员,有两件事让我感到困惑:
首先,尽管 Book
和 User
都有其默认构造函数,但 book-object 中的 author 为空。
其次:这本书没有得到坚持。没有错误,我只是得到了相同的书籍对象返回(作者仍然为空)但仍然有一个空 ID。
在 neo4j 客户端上查询 MATCH n RETURN n
也没有任何结果。
我尝试从 `Book 中删除 User
对象,我认为错误就在那里,但我仍然遇到相同的行为。
我做错了什么?
有时一个问题单独讨论就解决了...我忘了把包含这本书的包裹放入
@Bean
public SessionFactory getSessionFactory() {
return new SessionFactory(/*Package of Book should have been here*/);
}
在Application