【发布时间】:2017-11-20 12:15:35
【问题描述】:
我有一对一的关系:
用户:
@Entity
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private int id;
private String firstName;
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "id", referencedColumnName = "userId")
Employee employee;
员工:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
int id;
@NotNull
int userId;
String lastName;
用户存储库:
@Repository
public interface UserRepository extends JpaRepository<User, Integer> { }
所以我通过这种方式创建了一个用户和员工:
User user = new User();
user.setFirstName("George");
Employee employee = new Employee();
employee.SetLastName("Iliev");
user.setEmployee(employee);
userRepository.save(user);
用户的 ID 是自动递增和工作的。但是当我从员工中全选时,userId总是为0。即使我插入10个用户+10个员工,每个userId都是= 0。
为什么?以及如何解决?
【问题讨论】:
标签: java spring hibernate foreign-keys one-to-one