Рассмотрит следующий 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');
Внутри транзакции, я хотел бы добиться следующим: Упорство объекта entity
к хранилищу данным, если нет никакого другого объекта такого рода с именем foo
существует, или выбросить исключение если уже существует предприятие вида Entity
с именем foo
.
Какой самый идиоматический/лучший способ достичь этого? (Для чего это стоит, я использую реализацию JPA DataNucleus' с App Engine.)
Неужели вы уже получили исключение, если пытались сохранить вторую сущность с тем же именем, поскольку имя является PK? – Petter
На самом деле это то, на что я надеялся. Однако я могу перезаписать существующий объект с вызовом 'persist'. – Marc
GAE/Datastore не имеет таких ограничений в хранилище данных, поэтому вы можете перезаписать существующие записи. Не RDBMS –