NodeEntity不会持续存在

时间:2016-04-14 14:27:10

标签: json spring-boot spring-data-neo4j-4 request-mapping

我有以下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-object中的作者为null,尽管BookUser都有其默认构造函数。 Secoundly:这本书没有坚持下去。没有错误,我只是返回相同的book-object(作者仍然为null)但仍然使用null id。 在neo4j客户端上查询MATCH n RETURN n也不会产生任何结果。

我尝试从`Book中删除User对象,认为错误在那里,但我仍然得到相同的行为。 我做错了什么?

1 个答案:

答案 0 :(得分:0)

有时单独谈论一个问题就可以解决它...我已经忘记将包含本书的包裹放入

@Bean
public SessionFactory getSessionFactory() {
  return new SessionFactory(/*Package of Book should have been here*/);
}
Application

中的