Objectify4+GAE 1.7.1
移行前: エンティティにはフィールドがあります:
@Load
List<ChildEntity> children=new ArrayList<ChildEntity>();
今、私はこのフィールドを削除し、代わりに使用したい:
List<String> childrenNames=new ArrayList<String>();
Objectify doc によると、以下の方法を使用します。
void importPreviousChildren( @AlsoLoad( "children" ) List<ChildEntity> children )
{
for( ChildEntity c: children )
{
if( !childrenNames.contains( c.getName() ) )
childrenNames.add( c.getName() );
}
}
ただし、結果は childrenNames フィールドに「null」のみが含まれます。その理由は、子をロードするときに ChildEntity 全体をロードするためだと思います。では、この問題を解決する正しい方法は何ですか?
ありがとう。