gpt4 book ai didi

java - 保留实体,除非它们已经存在?

转载 作者:行者123 更新时间:2023-11-30 03:45:20 25 4
gpt4 key购买 nike

考虑以下 JPA 实体:

@Entity
class Entity {
@Id
private String name;

public String getName() {
return name;
}

public void setName(String name) {
this.name = name;
}
}

Entity entity = new Entity();
entity.setName('foo');

在事务内部,我想实现以下目标:如果不存在名为 foo 的同类实体,则将实体 entity 保留到数据存储区,否则抛出异常如果已经存在名为 fooEntity 类型的实体,则会出现异常。

实现这一目标最惯用/最好的方法是什么? (就其值(value)而言,我将 DataNucleus 的 JPA 实现与 App Engine 结合使用。)

最佳答案

每当您创建一个显式指定 key 的新实体时,您必须检查数据存储区中是否已存在具有相同 key 的实体。

创建一个类似的方法:

public Entity getEntityByName(String name) {
// First try to load from datastore
// If exists, return that
// If doesn't exist, return a new instance
}

每当您想要使用实体时,都可以通过此方法获取它。

关于java - 保留实体,除非它们已经存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25893721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com