Если вы используете JPA и предполагаете следующее:
@Entity
@Table(name="A")
class A {
@Id
@Column(name="id")
private int id;
String aValue;
@OneToOne
B b;
// Getters, setters and other stuff
}
@Entity
@Table(name="B")
class B {
@Id
@Column(name="id")
private int id;
Integer Id;
String bValue;
// Getters, setters and other stuff
}
Если вы теперь идентифицируете сущность B. Вы можете просто сделать сохранение следующим образом:
B b = new B();
b.setId(1000); //Assuming that you know the id.
//There is no necessary fill all the object. Just the PK is needed.
A a = new A();
a.setId(100);
a.setAValue("nothing");
a.setB(b);
em.persist(a);
У меня естьпроверил это с Hibernate в качестве поставщика устойчивости.Если вы используете другой ORM, укажите его.