JAVA中的PO和VO都是業(yè)務(wù)模型,但它們的作用有所不同。PO(Persistence Object)是持久化對象,代表了對應(yīng)數(shù)據(jù)庫表的一條記錄。而VO(Value Object)是值對象,是為了滿足頁面或者解耦的需要,而把業(yè)務(wù)對象中的部分數(shù)據(jù)或操作進行封裝而形成的另一個類。
在使用PO和VO的時候,需要進行相互轉(zhuǎn)換。這里給出一個PO和VO的轉(zhuǎn)換示例:
public class UserPO { private Long id; private String name; private Integer age; //省略getter和setter方法 } public class UserVO { private String name; private Integer age; //省略getter和setter方法 } public class UserConverter { public static UserVO convertToVO(UserPO userPO) { UserVO userVO = new UserVO(); userVO.setName(userPO.getName()); userVO.setAge(userPO.getAge()); return userVO; } public static UserPO convertToPO(UserVO userVO) { UserPO userPO = new UserPO(); userPO.setName(userVO.getName()); userPO.setAge(userVO.getAge()); return userPO; } }
通過上述轉(zhuǎn)換示例,可以對PO和VO的轉(zhuǎn)換有一個初步的了解。