Google app engine Google应用程序引擎中的JDO唯一字段

Google app engine Google应用程序引擎中的JDO唯一字段,google-app-engine,google-cloud-datastore,jdo,datanucleus,Google App Engine,Google Cloud Datastore,Jdo,Datanucleus,据介绍,Google App Engine的JDO实现不支持JDO@Unique注释。还是这样吗 例如,我有一门课: @PersistenceCapable public class User { @PrimaryKey @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) private Key key; @Persistent private String email; @Persi

据介绍,Google App Engine的JDO实现不支持JDO@Unique注释。还是这样吗

例如,我有一门课:

@PersistenceCapable
public class User {
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Key key;
    @Persistent
    private String email;
    @Persistent
    private String sessionToken;
    ...
}

显然,
是唯一的,但我也希望有唯一的
电子邮件
会话肯
。如果不支持@Unique,那么在简单性和性能方面,“模拟”这种行为的最佳方式是什么?

这一点再清楚不过了。JDO不是问题。。。。问题在于底层GAE/Datastore数据库不支持它(如果数据存储不支持它,那么API就不可能神奇地在数据存储中强加一些东西)。这个问题也提供了一个解决办法,这个问题再清楚不过了。JDO不是问题。。。。问题在于底层GAE/Datastore数据库不支持它(如果数据存储不支持它,那么API就不可能神奇地在数据存储中强加一些东西)。这个问题也提供了一个解决办法

谢谢。我确实明白问题出在“GAE的实现”上,正如我在问题中所说的,而不是其他任何方面。。。我想知道情况是否仍然如此(因为问题是从2009年开始的),以及他们提供的解决方案是否实际上是最好的解决方案……我不是指JDO的“GAE实现”。这也不是他们的JDO插件。这是他们的数据存储。数据存储的javadocs也无法定义唯一键。这里的变通方法仍然是完全有效的,并且和现在一样好,或者只是搜索“appengine unique key”并获得相同的基本思想(有些是Python的),谢谢。我确实明白问题出在“GAE的实现”上,正如我在问题中所说的,而不是其他任何方面。。。我想知道情况是否仍然如此(因为问题是从2009年开始的),以及他们提供的解决方案是否实际上是最好的解决方案……我不是指JDO的“GAE实现”。这也不是他们的JDO插件。这是他们的数据存储。数据存储的javadocs也无法定义唯一键。这里的变通方法仍然是完全有效的,并且与现有的方法一样好,或者只是搜索“appengine unique key”并获得相同的基本思想(有些是Python的)