Използвам google cloud SQL с JDO. Когато се опитвам да използвам JDO PersistenceManager за съхраняване на нови обекти с нов ключ, той работи добре, но получавам грешка, когато се опитвам да актуализирам обекти, които вече са вмъкнати в db:
com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry '503062001-43661003' for key 'PRIMARY'
Ключът наистина е дублиран, но искам да актуализирам този обект.
Възможно ли е да направите това с метода PersistentManager.makePersistentAll() или по друг начин, който избягва ръчното писане на заявката UPDATE?
Повече подробности: Обектът, който се опитвам да запазя, е дефиниран така:
PersistenceCapable(table = "xxx")
public class XXX {
@PrimaryKey
@Index(name = "xxx_id")
private Long userId;
@PrimaryKey
@Index(name = "xxx_idx")
@Column(length = 128)
private String otherId;
...
}