我尝试使用两个或更多表中的字段创建一个实体。 我想用自定义Query创建字段
@Entity
@Table(name = "Card")
@SecondaryTable(name = "Account", pkJoinColumns = @PrimaryKeyJoinColumn(name = "AccountId", referencedColumnName = "CardId"))
public class Card {
@Id
@Column(name = "CardId", nullable = false)
private String CardId;
@Column(name = "N67ACCN", table = "Account")
private long numOfAccount;
}
对于一个键CardId
,我有许多行具有相同的AccountId
和其他列
例如,
CardId AccountId AccountPIN
1 1 1
1 1 2
1 1 3
我想要像
这样的东西@Query (value = "SELECT N67ACCN FROM Account WHERE CardId = AccountId and AccountPin = 1")
private long numOfAccount;
}
有可能吗?
答案 0 :(得分:0)
@Formula ("SELECT N67ACCN FROM Account WHERE CardId = AccountId and AccountPin = 1")
private long numOfAccount;
但如果您期望SELECT COUNT
值,我认为您需要long
。
答案 1 :(得分:0)
谢谢。
你错过了()
@Formula("(SELECT DISTINCT n.N67ACCN FROM N67 n WHERE n.N67MBID = B31AGID AND n.N67ACGN = 1)")
private String numOfAccount;
并仅使用列的名称(不是字段\属性)