我有包含私有(private)字段的数据模型类,这些字段是只读的(通过 getter 函数)。这些字段由我的 JPA 持久性提供程序 (eclipselink) 在正常操作期间使用数据库的内容设置。对于单元测试,我想将它们设置为来自持久层模型的假值。我怎样才能做到这一点?无论如何,eclipselink 是如何设置这些值的?
简化示例:
@Entity
class MyEntity
{
@Id
private Integer _ix;
public Integer ixGet()
{
return this._ix;
}
}
最佳答案
您能否只模拟实体本身,提供您自己的 getter 实现?
您可以在您的模拟持久层中创建一个匿名扩展:
MyEntity x = new MyEntity() {
public Integer ixGet() { return new Integer(88); }
};
关于java - 如何访问 Java 中的私有(private)类成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1306166/