自引用实体是否需要 @OneToOne JPA 注释?

Do self referencing entities need @OneToOne JPA annotations or not?

想象一个实体A与它自己有一个非强制的一对一关系,如下图所示。

我是否将 sourceTransactiondestinationTransaction 写成:public DepositAccountTransaction sourceTransaction; public DepositAccountTransaction destinationTransaction; 没有任何注释?

不,您总是需要注释。如果是可选的:

@OneToOne(optional = true)
private DepositAccountTransaction destinationTransaction;

顺便说一句,我不会将任何 属性 声明为 public。您可能希望使用 projectlombok 生成 getter 和 setter。