Java 具有comosite主键的对象的jpa更新

Java 具有comosite主键的对象的jpa更新,java,jpa,openjpa,composite-id,Java,Jpa,Openjpa,Composite Id,我的对象有一个复合主键。如何使用jpa更新我的对象 通常我们使用以下代码 EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa"); EntityManager em = emf.createEntityManager(); Student stud1 = em.find(Student.class,1); stud1.setSname("Deepak"); //set others em.merge(stu

我的对象有一个复合主键。如何使用jpa更新我的对象

通常我们使用以下代码

EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpa");
EntityManager em = emf.createEntityManager();
Student stud1 = em.find(Student.class,1);
stud1.setSname("Deepak");
//set others
em.merge(stud1);
em.getTransaction().commit();

现在,如果我有一个主键是复合的对象,那么我如何实现更新呢?

基本相同,只是您必须构造主键对象:

Student stud1 = em.find(Student.class, new StudentPK(pkPart1, pkPart2));

基本相同,只是您必须构造主键对象:

Student stud1 = em.find(Student.class, new StudentPK(pkPart1, pkPart2));