为了账号安全,请及时绑定邮箱和手机立即绑定

使用 Morphia 从 Mongo 获取文档时将值设置为非 DB 属性

使用 Morphia 从 Mongo 获取文档时将值设置为非 DB 属性

芜湖不芜 2022-10-07 16:50:41
product这是MongoDB 中称为集合(表)的一个示例文档(行) :{     "_id" : ObjectId("5cb39171528a28f831f"),     "seller" : "Product Seller 1",     "title" : "Product Title 1",     "price" : "159.75",     "brand" : "Product Brand 1",     "productId" : NumberInt(247)}该集合的 Java 模型如下所示:@Entity(value = "product", noClassnameStored = true)@Datapublic class Product {    @Id    @Property("_id")    private ObjectId objectId;    private String seller;    private String title;    private String price;    private String brand;    private Long productId;}我在这里使用 Morphia 作为 MongoDB Java 驱动程序。我正在使用 Lombok @Data 注释,它提供了构造函数、getter 和 setter。该模型运行良好,能够从数据库中获取数据。我的新要求是在模型中添加一个附加字段。新字段的名称将是stringObjectId,它将存储objectId字符串格式的值。请注意,数据库文档不会有任何更改。也就是说,没有新字段被添加到数据库文档中。我希望当我以列表或单行的形式从集合中获取数据时, 也应该填充query.asList();其中的值。stringObjectId像这样的东西:stringObjectId = objectId.toString()到目前为止,我已经尝试覆盖该模型的设置器和构造器来设置stringObjectId变量中的值,但似乎没有任何效果。有什么办法可以实现吗?
查看完整描述

1 回答

?
偶然的你

TA贡献1841条经验 获得超3个赞

查看 Morphia LifeCycle 事件:https ://www.playframework.com/modules/morphia-1.2.4/lifecycle-def

一个在这里@PostLoad会有所帮助。你可能也需要@Transient


查看完整回答
反对 回复 2022-10-07
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信