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 驅(qū)動程序。我正在使用 Lombok @Data 注釋,它提供了構(gòu)造函數(shù)、getter 和 setter。該模型運行良好,能夠從數(shù)據(jù)庫中獲取數(shù)據(jù)。我的新要求是在模型中添加一個附加字段。新字段的名稱將是stringObjectId,它將存儲objectId字符串格式的值。請注意,數(shù)據(jù)庫文檔不會有任何更改。也就是說,沒有新字段被添加到數(shù)據(jù)庫文檔中。我希望當(dāng)我以列表或單行的形式從集合中獲取數(shù)據(jù)時, 也應(yīng)該填充query.asList();其中的值。stringObjectId像這樣的東西:stringObjectId = objectId.toString()到目前為止,我已經(jīng)嘗試覆蓋該模型的設(shè)置器和構(gòu)造器來設(shè)置stringObjectId變量中的值,但似乎沒有任何效果。有什么辦法可以實現(xiàn)嗎?
1 回答

偶然的你
TA貢獻(xiàn)1841條經(jīng)驗 獲得超3個贊
查看 Morphia LifeCycle 事件:https ://www.playframework.com/modules/morphia-1.2.4/lifecycle-def
一個在這里@PostLoad
會有所幫助。你可能也需要@Transient
。
添加回答
舉報
0/150
提交
取消