如何使用@DbRef注释引用GridFSFile(spring data mongodb)
我有一个 spring @Document object Profile
我想像它一样引用 GridFSFile :
@DbRef
private GridFSFile file;
该文件被写入另一个集合类型 GridFS 中。
当我设置 profile.setFile(file);
时,我总是遇到 java.lang.StackOverflowError
java.lang.StackOverflowError
at org.springframework.util.ObjectUtils.nullSafeHashCode(ObjectUtils.java:336)
at org.springframework.data.util.TypeDiscoverer.hashCode(TypeDiscoverer.java:365)
at org.springframework.data.util.ClassTypeInformation.hashCode(ClassTypeInformation.java:39)
at org.springframework.util.ObjectUtils.nullSafeHashCode(ObjectUtils.java:336)
at org.springframework.data.util.ParentTypeAwareTypeInformation.hashCode(ParentTypeAwareTypeInformation.java:79)
at org.springframework.util.ObjectUtils.nullSafeHashCode(ObjectUtils.java:336)
我不明白,如果有人有想法引用我的文件有兴趣
谢谢, 泽维尔
i have a spring @Document object Profile
i would like to reference GridFSFile like it :
@DbRef
private GridFSFile file;
the file is writen into another collection type GridFS.
I always have a java.lang.StackOverflowError
when i set profile.setFile(file);
java.lang.StackOverflowError
at org.springframework.util.ObjectUtils.nullSafeHashCode(ObjectUtils.java:336)
at org.springframework.data.util.TypeDiscoverer.hashCode(TypeDiscoverer.java:365)
at org.springframework.data.util.ClassTypeInformation.hashCode(ClassTypeInformation.java:39)
at org.springframework.util.ObjectUtils.nullSafeHashCode(ObjectUtils.java:336)
at org.springframework.data.util.ParentTypeAwareTypeInformation.hashCode(ParentTypeAwareTypeInformation.java:79)
at org.springframework.util.ObjectUtils.nullSafeHashCode(ObjectUtils.java:336)
I do not understand, if someone with an idea to reference a file I'm interested
Thanks,
Xavier
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我想要类似的东西,但没有找到方法,所以我做了这个解决方法。
在您的 @Document 类中,放置一个
ObjectId
字段然后在您的存储库中,添加自定义方法以将文件链接到此 MyDocument,遵循 Oliver Gierke 的建议 和使用
GridFsTemplate
:顺便说一下,您需要声明您的JavaConf 中的
GridFsTemplate
来自动装配它I wanted something similar, and didn't find a way, so I made this workaround.
In your @Document class, put a
ObjectId
fieldThen in your Repository, add custom method to link file to this MyDocument, following advices from Oliver Gierke and using a
GridFsTemplate
:By the way, you'll need to declare your
GridFsTemplate
in your JavaConf to autowire it