Java JPA更新复合密钥的一部分

Java JPA更新复合密钥的一部分,java,hibernate,jpa,Java,Hibernate,Jpa,是否有方法更新复合密钥的一部分。每次我尝试时,JPA都会在数据库中创建一条新记录 @Embeddable public class primaryKey implements Serializable{ /** * */ private static final long serialVersionUID = 1L; private Entity1 key1; private Entity2 key2; 我正在尝试更新密钥2 以下是我

是否有方法更新复合密钥的一部分。每次我尝试时,JPA都会在数据库中创建一条新记录

@Embeddable
public class primaryKey implements Serializable{


    /**
     * 
     */
    private static final long serialVersionUID = 1L;

    private Entity1 key1;
    private Entity2 key2;
我正在尝试更新密钥2

以下是我如何更新的:

EntityWithCompositeKey ent = findBy... //This returns only 1 result
ent.setKey2(Entity2 newKey2);
repository.save(ent);

如果更改确定
等于
结果的对象字段集的一部分,则更改
等于
的结果,则可能重复。这是基本和恰当的。顺便说一下,对象没有“组合键”;这是一个关系概念,不适用于对象模型。(并且,
primaryKey
不符合命名约定。)因此,当您持久化一个
equals
值已更改的对象时,它当然是持久化存储中的一个新对象。这是基本和恰当的。这有什么不同呢?如果您更改了确定
等于
结果的对象字段集的一部分,则可能会重复更改
等于
的结果。这是基本和恰当的。顺便说一下,对象没有“组合键”;这是一个关系概念,不适用于对象模型。(并且,
primaryKey
不符合命名约定。)因此,当您持久化一个
equals
值已更改的对象时,它当然是持久化存储中的一个新对象。这是基本和恰当的。怎么会不一样呢?