1

次のコードを書きました

PodamFactory factory = new PodamFactoryImpl();
Honda honda1 = factory.manufacturePojo(Honda.class);
System.out.println(honda1.toString());
Honda honda2 = factory.manufacturePojoWithFullData(Honda.class);
System.out.println(honda2.toString());

ホンダクラスです

public class Honda {

    String name;
    int version;

    public Honda(String name, int version) {
        this.name = name;
        this.version = version;
    }
...
}

そして、私は得る

Honda{name='c00iZ2ponC', version=883048266}
Honda{name='c00iZ2ponC', version=883048266}

podam が世代ごとに同じ値を割り当てるのはなぜですか?

4

1 に答える 1

1

これは、生成されたオブジェクトをタイプ別にキャッシュする、いわゆるメモ化が原因で発生します。この機能は、一部の PODAM バージョンでデフォルトで有効になっていました。

次の方法で無効にできます

PodamFactory factory = new PodamFactoryImpl();
factory.getStrategy().setMemoizationEnabled(false);
于 2015-08-12T11:49:51.107 に答える