我一直在学习如何在Spring Boot中使用MongoDB;为此,我正在尝试构建一个允许在论坛中发送帖子和评论帖子的服务。目前,我已经为论坛帖子创建了一个模型类:
@Document
@Data
public class ForumPost {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long postId;
private Long userId;
private String postTitle;
private String postContent;
@DbRef
private List<Comment> comments;
private Instant createTime;
private Instant updateTime;
}在PostgreSQL这样的关系型数据库中,我会使用@GeneratedValue自动生成ID值,使用@Column来定义列定义和其他设置,比如每个变量的updatable。但是使用Spring Data MongoDB可以做到这一点吗?是否有任何等效的注解可以用来达到相同的效果?
发布于 2021-10-27 04:49:50
id类型可以是String或ObjectId(来自Mongo驱动程序),使用@Id(来自Spring data commons)进行注释,Spring Data MongoDB将在持久化此文档时自动填充此字段。
检查my simple Spring Mongo example和the real world like example。
通常,@GeneratedValue来自JPA,仅用于JPA实体。如果您想在noSQL上使用JPA类似的API,请查看Hibernate OGM。
发布于 2021-10-27 04:36:38
当我们使用MongoDB作为Spring Boot应用程序的数据库时,我们不能在模型中使用@GeneratedValue注解,因为它不可用。因此,我们需要一种方法来产生与使用JPA和SQL数据库时相同的效果。
使用此链接可获得更多参考信息- click
https://stackoverflow.com/questions/69732588
复制相似问题