我的帐户实体主键是使用 GenerationType.Table stratergy生成的。
@Entity
@Table(name="ACCOUNT")
public class Account {
@Id
@GeneratedValue(strategy=GenerationType.TABLE , generator="tablegenerator")
@TableGenerator(name="tablegenerator", table="ifinances_keys", pkColumnName="PK_NAME",valueColumnName="PK_VALUE")
@Column(name="ACCOUNT_ID")
private Long accountId;
我已经定义了一个表ifinances_key来存储这个生成的密钥,并且在保存数据之后,生成了以下密钥: -
Ifinances_Key表
PK_NAME, PK_VALUE
ACCOUNT 8
我的帐户表包含以下数据:
ACCOUNT_ID | Rest of the columns ---->
200
300
350
当我运行以下查询时
SELECT * FROM account a natural join ifinances_keys b ;
我收到所有数据,即:
ACCOUNT_ID | Rest of the columns ---->
200
300
350
请解释此策略的内部工作以及此Join的工作原理?