Spring数据JPA,如何将一个属性映射到两列?

Spring数据JPA,如何将一个属性映射到两列?,spring,hibernate,spring-data-jpa,hsqldb,Spring,Hibernate,Spring Data Jpa,Hsqldb,假设我有“Account”实体类和“Transaction”实体类。在表中,详细信息如下: 转移标识 帐户\u来自\u id 账户到账号 钱 565 1. 2. 12 566 3. 1. 15 一种可能的解决方案是分别映射“从”和“到”传输: @Entity @Table public class Account { @OneToMany @JoinColumn(name = "account_from_id") private Set<T

假设我有“Account”实体类和“Transaction”实体类。在表中,详细信息如下:

转移标识 帐户\u来自\u id 账户到账号 钱 565 1. 2. 12 566 3. 1. 15
一种可能的解决方案是分别映射“从”和“到”传输:

@Entity
@Table
public class Account {
     @OneToMany
     @JoinColumn(name = "account_from_id")
     private Set<Transfer> fromTransfers;

     @OneToMany
     @JoinColumn(name = "account_to_id")
     private Set<Transfer> toTransfers;
}
@实体
@桌子
公共类帐户{
@独身癖
@JoinColumn(name=“account\u from\u id”)
私自转让;
@独身癖
@JoinColumn(name=“账户到账户id”)
私人转让;
}
但如果您需要在一个映射集合中同时使用这两者,则可以尝试以下方法:

@Entity
@Table
public class Account {
     @OneToMany
     @JoinFormula("select ts.id from transfer ts where account_from_id = ts.id or account_to_id = ts.id )
     private Set<Transfer> transfers;

}
@实体
@桌子
公共类帐户{
@独身癖
@JoinFormula(“从传输ts中选择ts.id,其中帐户\u from\u id=ts.id或帐户\u to\u id=ts.id”)
私人集合转让;
}