这个问题已经被问到了。但我目前的情况有点不同,我希望现在有更好的答案。所以这里:
我需要一个数据存储区实体拥有两个唯一键,一个是主键。
以下是否足够?当我只为数据存储区创建一个密钥查询时,我需要知道我指的是keyA
@Entity
public class UserAccount implements Serializable{
@Id
@GeneratedValue(strategy=GenericType.IDENTITY)
Key keyA;//based on email
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
Key keyB;//randomly generated
//….other data
}
我需要数据存储区来帮助强制执行密钥的唯一性,因此仅仅让keyB
成为我自己管理的简单字段是不够的。
答案 0 :(得分:0)
你必须自己强制执行唯一性。这是非主键,你必须查看,看看你是否得到了结果。