是否可以在google-app-engine中使用约束?似乎不起作用...... http://www.datanucleus.org/products/accessplatform_1_1/jpa/orm/constr ...
属性codingSystem和代码应该是唯一的。有没有 解决办法:
@Entity
@Table(uniqueConstraints = {
@UniqueConstraint(columnNames = { "codingSystem", "code" }) })
public class ArticleCode {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Key id;
private String codingSystem;
private String code;
谢谢, 拉尔夫
答案 0 :(得分:2)
简而言之,不,他们不是。基础数据存储区实现不支持全局事务,因此强制执行任意唯一性约束是不切实际的。
解决方法是使唯一组件成为密钥名称的一部分。
答案 1 :(得分:2)
非常感谢,它运作正常。
这是我的新代码。
@Entity 公共类ArticleCode {
@Id
private Key id;
@Column(name="codingSystem")
private String codingSystem;
@Column(name="code")
private String code;
public ArticleCode(Key parent, String codingSystem, String code) {
this.id = KeyFactory.createKey(parent, ArticleCode.class.getSimpleName(), codingSystem + code);
this.codingSystem = codingSystem;
this.code = code;
}