我对stackoverflow和JPA都是新手,所以我会尽力解释这一点。
在一个实体中,我想通过给出 int 值来设置外键,但我也想通过给出一个对象来设置它。这里有一些代码可以更好地解释它。
@Entity
public class Thread implements Serializable {
@ManyToOne
@JoinColumn(name = "accountId", referencedColumnName = "id", nullable = false)
public Account getAccount() {
return account;
}
@Column(name = "accountId")
@Basic
public int getAccountId() {
return accountId;
}
}
我尝试了几种方法,但上面的代码是我想要实现的最佳示例。我知道在这两种方法中的任何一种中设置 insert = false 和 update = false 都会使此代码在编译和运行时工作。但我希望能够通过使用 Account 对象和设置实际的 int accountId 来插入 accountId。
这样做的原因是,有时在我的服务器中,我只有 accountId,有时我有 Account 对象。
我也明白最好的解决方案可能是在创建线程和设置 accountId 时使用 account.getId()。但是在我的服务器中能够只使用该对象在逻辑上会很好。
提前致谢!