Org
public class Org { @Id private String id; private String name; private Setemployeeemployees; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Set getEmployees() { return employees; } public void setEmployees(Set employees) { this.employees = employees; } }
public abstract class Employee { protected String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }leader
public class Leader extends Employee{ private String address; private String title; public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } }worker
public class Worker extends Employee{ private String mobile; public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } }保存實例
@Test public void testPolymorphic() { Org org = new Org(); org.setName("tech"); Leader leader = new Leader(); leader.setName("leader"); leader.setAddress("fj"); leader.setTitle("vp"); Worker worker = new Worker(); worker.setName("worker"); worker.setMobile("15909898989"); Setmongo里的數據保存了classemployees = new HashSet<>(); employees.add(leader); employees.add(worker); org.setEmployees(employees); orgDao.save(org); }
{ "_id" : ObjectId("57f635e0af7b3807e8101884"), "_class" : "com.codecraft.demo.model.Org", "name" : "tech", "employees" : [ { "mobile" : "15909898989", "name" : "worker", "_class" : "com.codecraft.demo.model.Worker" }, { "address" : "fj", "title" : "vp", "name" : "leader", "_class" : "com.codecraft.demo.model.Leader" } ] }取數據
@Test public void testFind(){ Org org = orgDao.findOne("57f635e0af7b3807e8101884"); Setdocsemployees = org.getEmployees(); for(Employee emp : employees){ if(emp instanceof Leader){ System.out.println(emp); }else if(emp instanceof Worker){ System.out.println(emp); } } }
用 mongodb 儲存多態(tài)消息/提醒類數據
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/18878.html
摘要:自定義提示你可以通過在中設置變量來修改提示的內容變量可以保存字符串以及代碼如果包含返回字符串的函數可以在每個提示中顯式動態(tài)信息你可以在文件中添加提示的邏輯以便在你每次啟動的時候進行提示自定義提示去顯示操作的數量例如創(chuàng)建一個在當前會話中顯示帶 自定義提示 你可以通過在 mongo shell 中設置變量 prompt 來修改提示的內容. prompt 變量可以保存字符串以及 JavaSc...
摘要:在使用過程中我們可以通過增加哈希次數來提高數據的安全性。當然,對密碼的哈希操作應該在保存數據之前。 showImg(https://segmentfault.com/img/remote/1460000010821081); 毫無疑問,幾乎所有的應用都會涉及到數據存儲。但是 Express 框架本身只能通過程序變量來保存數據,它并不提供數據持久化功能。而僅僅通過內存來保存數據是無法應對...
摘要:復制一份,命名為,修改文件內容如下注意改為我們第一步創(chuàng)建的目錄,端口號改為這個隨意,只要該端口沒被占用即可,表示這是一個配置服務器,另外由于我們的配置服務器要做成備份集,所以要設置。 分片是指將數據拆分,拆分后存放在不同的機器上的過程,以此來降低單個服務器的壓力,同時也解決單個服務器硬盤空間不足的問題,讓我們可以用廉價的機器實現(xiàn)高性能的數據架構。有的小伙伴不理解分片和副本集的差異,一言...
摘要:簡介在我的前一篇小文中小書提到了可以更換會話儲存那么這篇文章我們就來講講在進行會話管理的時候如何將會話數據保存在外部數據庫中本文中我們使用用作會話儲存數據庫本文中使用的模塊以及版本號一覽模塊名稱版本號特性支持支持所有版本的支持支持 簡介 在我的前一篇小文中express-session小書提到了express-session可以更換會話儲存. 那么這篇文章我們就來講講express在進...
閱讀 3662·2021-10-11 10:58
閱讀 2252·2021-10-08 10:05
閱讀 2034·2021-09-27 13:34
閱讀 3576·2019-08-30 15:53
閱讀 2734·2019-08-30 14:02
閱讀 3562·2019-08-29 16:55
閱讀 623·2019-08-29 15:41
閱讀 1071·2019-08-29 15:23