微流 lazyloading/relationship
Microstream lazyloading/relationship
遵循此代码https://github.com/microstream-one/demo-readmecorp/tree/master/core/src/main/java/com/jetstreamdb/demo/readmecorp
我可以看到一本书只有一个作者,意味着一个作者可以有很多本书 = 一对多关系
尝试制作一本书有很多作者我尝试像在 BookShop 中那样做。 (估计会有很多)
改变
private final Author author;
至
private final Lazy<List<Author>> author;
在构造函数中我改为
this.author = Lazy.Reference(author);
和方法 author() 到
public Collection<Author> author()
{
return this.author.get();
}
我还在 ReadMeCorpData 中注释掉了快速测试的方法,然后我得到了这个错误:
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.jetstreamdb.demo.readmecorp.Main.main(Main.java:30)
Caused by: java.lang.RuntimeException: Incompatible types: com.jetstreamdb.demo.readmecorp.Author -> one.microstream.persistence.lazy.Lazy
所以我的问题是我怎样才能让一本书有很多作者,可能是我的想法在微流中已经过时了那么我在哪里或者如何才能得到在微流中以正确的方式建模数据的想法?
(我试图让 Author 实现 Lazy 并且错误消失了,但是由于我还没有找到任何实现 Lazy 的示例代码,所以我不知道这样做是否可以)
遵循此代码https://github.com/microstream-one/demo-readmecorp/tree/master/core/src/main/java/com/jetstreamdb/demo/readmecorp 我可以看到一本书只有一个作者,意味着一个作者可以有很多本书 = 一对多关系
尝试制作一本书有很多作者我尝试像在 BookShop 中那样做。 (估计会有很多)
改变
private final Author author;
至
private final Lazy<List<Author>> author;
在构造函数中我改为
this.author = Lazy.Reference(author);
和方法 author() 到
public Collection<Author> author()
{
return this.author.get();
}
我还在 ReadMeCorpData 中注释掉了快速测试的方法,然后我得到了这个错误:
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.jetstreamdb.demo.readmecorp.Main.main(Main.java:30)
Caused by: java.lang.RuntimeException: Incompatible types: com.jetstreamdb.demo.readmecorp.Author -> one.microstream.persistence.lazy.Lazy
所以我的问题是我怎样才能让一本书有很多作者,可能是我的想法在微流中已经过时了那么我在哪里或者如何才能得到在微流中以正确的方式建模数据的想法?
(我试图让 Author 实现 Lazy 并且错误消失了,但是由于我还没有找到任何实现 Lazy 的示例代码,所以我不知道这样做是否可以)