user246114
user246114

Reputation: 51621

Parent key of type encoded string?

How do we create a parent key which is an encoded string? Example:

class Parent {

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    @Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
    private String mEncKey;
}

class Child {

    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    @Extension(vendorName="datanucleus", key="gae.encoded-pk", value="true")
    private String mEncKey;

    // In the doc examples, they have Key as the type here.
    @Persistent
    @Extension(vendorName="datanucleus", key="gae.parent-pk", value="true")
    private String mParentEncKey;
}

yeah I'm not sure how to make mParentEncKey an encoded string type, because the 'key' label is already being used? I would need something like?:

key="gae.parent-pk.encoded-pk"

not sure - is that possible?

Thanks

Upvotes: 1

Views: 1026

Answers (2)

user1242606
user1242606

Reputation: 11

I have found a solution for this, you can now map owned relations in a portable manner, check out blog.

Upvotes: 1

Bert F
Bert F

Reputation: 87543

This discussion says to just use gae.parent-pk - GAE will automatically use an encoded string value for a parent key field in Child.

https://groups.google.com/group/google-appengine-java/browse_thread/thread/43e38d0bc8a41bbd/0f0f86693330c1b2

Upvotes: 0

Related Questions