如何在 java Google App Engine 中强制执行唯一字段值

2023-12-22

我试图找出如何在唯一 id 之外的字段中强制执行唯一性。

Example:

@PersistenceCapable(identityType = IdentityType.APPLICATION)
public class User implements IsSerializable {
    @PrimaryKey
    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
    private Long id;

    @Persistent
    private String name; 

    @Persistent
    private String email; // <= I want this to be unique as well
}

在上面的示例中,如何在数据库中强制电子邮件值的唯一性?

Daniel


目前没有使用应用程序引擎数据存储的内置方式。看例如。 (请注意,JDO 本身确实有一个 @unique 注释。)

“伪造”它的一种方法是创建另一种称为电子邮件的类型/类,其中电子邮件本身作为密钥,用户的密钥作为属性。由于电子邮件现在是密钥,因此它必须是唯一的。只需确保您的电子邮件实体是顶级实体,而不是其关联用户的子实体。您还必须密切关注交易的使用,以确保如果两个用户尝试在同一时间使用同一电子邮件,则不会让重复的交易从缝隙中溜走。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 java Google App Engine 中强制执行唯一字段值 的相关文章

随机推荐