【发布时间】:2014-09-15 06:31:06
【问题描述】:
我想在不使用 ORM(如 Hibernate)的情况下将对象保存和加载到数据库。
假设我有以下课程:
public class Person {
private int age;
public void birthday(){
age++;
}
}
这个类没有提供get方法,所以封装了内部状态(年龄)。
如果我想保存对象,我需要一个 getter 方法来执行以下操作:
insert into TABLE_PERSON (id, age) vales (1, person.getAge());
反之,我需要一个 setter 方法来加载对象:
int age = "Select age FROM Person";
person.setAge(age);
但我不想打破封装(通过实现额外的 setter 和 getter 方法)只是为了保存和加载对象。
有没有可能做到这一点?也许某种模式(纪念品?)或最佳实践?
提前谢谢你!
【问题讨论】:
标签: java database design-patterns encapsulation memento