Java JPA更新复合密钥的一部分
是否有方法更新复合密钥的一部分。每次我尝试时,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 以下是我
@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
值已更改的对象时,它当然是持久化存储中的一个新对象。这是基本和恰当的。怎么会不一样呢?