关于POJO与PO

来源:互联网 发布:剑灵洪玄公捏脸数据 编辑:程序博客网 时间:2024/04/29 02:04
POJO 在Hibernate 语义中理解为数据库表所对应的Domain Object。这里的POJO
就是所谓的“Plain Ordinary Java Object”,字面上来讲就是无格式普通Java 对象,简
单的可以理解为一个不包含逻辑代码的值对象(Value Object 简称VO)。PO为persistence object

请教一下这里说的POJO和PO是一个概念么?它和VO又是什么关系呢?
一个典型的POJO:
public class TUser implements Serializable {
private String name;
public User(String name) {
this.name = name;
}
/** default constructor */
public User() {
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
}
关于上面这个典型的POJO有问题需要咨询一下:
首先为什么这里要implements Serializable,是否实现序列化对使用这个POJO有什么关系和影响呢?
我自己写的PO和VO好像都没有写仍何构造函数,POJO中一定要求写constructor么?
    回复人:rickhunterchen(千山鸟飞绝) ( ) 信誉:100 2006-8-9 14:29:54 得分:10     ?

hibernate的pojo一定要一个不带参数的构造函数。
implements Serializable是表示这个pojo支持序列化。
Top     回复人:yesjoy(卫卫) ( ) 信誉:74 2006-8-9 14:33:11 得分:0     ?

请教:pojo支持序列化意味着什么呢?有什么好处
pojo == vo?这样理解是否有误?
Top     回复人:WolfChaseLion(龙) ( ) 信誉:100 2006-8-9 15:50:43 得分:10     ?

支持序列化意味着保存对象时它可以自动转换成字节流,也可以字节流中自动创建对象。
Top     回复人:iohui(小雄) ( ) 信誉:100 2006-8-18 23:38:55 得分:10     ?

PO是可序列化的对象,VO是普通的值对象。

User user = new User(); // VO
session.save(user); // 变成PO
Top