【发布时间】:2019-01-04 11:01:29
【问题描述】:
我正在学习如何使用 Hibernate,并且我有一个与查询具有一对一关系的表有关的问题。
有两个表,Employee 和 Account,具有一对一的关系。 Employee 的主键是员工 ID。我想将此 id 用于Account,并且我知道它因此可以定义为Account 表中的外键。
@Entity
@Table
public class Employee
{
@Id
private int employeeId;
}
@Entity
@Table
public class Account
{
@OneToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "employeeId", referencedColumnName = "employeeId", nullable=false, insertable=false, updatable=false, foreignKey = @ForeignKey(name="FK_Account_Employee"))
private Employee employee;
}
请注意,Account 没有额外的 id 字段。员工 ID 外键是唯一的。这可以接受吗?
我已为Account 声明了一个存储库接口,如下所示:
@Repository
public interface AccountRepository extends JpaRepository<Account, Integer>
{
}
如何使用员工 ID 从该表中检索条目?
例如像
accountRepository.getOne(employeeId)
【问题讨论】:
标签: java database hibernate foreign-keys one-to-one