如何使用 JPA 和 Hibernate 在表中创建两条记录。 所以我在两个表 person 和 user 之间有关系。表 user 有列 person_id。因此,首先我们需要对 person 进行记录,获取 id 并写入用户表并进行提交。
@Entity
@Table(name = "person")
public class Person {
@Column(name="id")
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name="old_id", nullable = false)
private String oldId
}
@Entity
@Table(name="user")
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="id")
private long id;
@Column(name="username")
private String username;
@Column(name="password")
private String password;
@Column(name="person_id")
private long personId;
public User(String username, String password) {
this.username = username;
this.password = password;
}
personRepository.save(new Person("9999-1","Denis Beloff","Denis",
"Beloff", LocalDate.now(),LocalDate.now(),"M",33,
174.0,83.1,"Some Street",LocalDate.now(),"some@email.com",
"890327388", new User("some@email.com", "passw")));
最佳答案
如果您想保留代码原样,则必须先保存 Person,然后获取 id 并将其设置到 Users personId 字段。
否则,您必须在持久化时使用级联定义人与用户之间的一对一关系:
@OneToOne(cascade = CascadeType.PERSIST)
private Person person.
然后您可以在 User 类上设置 person,所有内容都将由 Hibernate 插入。
关于java - 如何在两个表中进行记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56789025/