1) Если PlayerId является идентификатором первичного ключа, то вы бы вызвали merge (entity). Если PlayerId присутствует, он обновится, иначе он создаст новую запись.
2) Если PlayrerId не является идентификатором первичного ключа. Лучше всего избегать использования PlayerId в качестве первичного ключа.
В почтальоне вы должны передать идентификатор первичного ключа таблицы базы данных вместе с PlayerId.
Затем вы вызываете слияние (сущность). Он позаботится о создании или обновлении на основе первичного ключа
идентификатор равен нулю или нет.
например, ниже, если вы передали идентификатор первичного ключа в запросе.
Entity e = new Entity();
if (entityFromRequest.getId() != null){ //this is the db id from request
//get the entity from db and then change the state
e = entity from db by using id
}
e.setPlayerId = entityFromRequest.getPlayerId
merge(e); // it will create or update record