如何使用Spring-data-jpa从childofchild实体检索值?
例如Person Entity ->Account Entity ->Debit_Account Entity
借方帐户实体包含我要检索的值dbtAmount。
我是spring和spring-data-jpa存储库的新手,使用查找方法无法从childofchild实体获取详细信息。
答案 0 :(得分:0)
我们必须正确实现实体之间的关系。例如
如果已正确配置此属性,则应该能够获取人员实体,使用getAccounts方法从该实体获取Account实体,并使用getDebitAccounts方法从该实体获取DebitAccount。
JPA Relationship Mapping Concept https://www.mkyong.com/hibernate/hibernate-one-to-many-relationship-example/
假设这种关系是一对多的,我添加了更多的解释,
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
@Entity
public class Person {
@Column
private String username;
@Column
private String email;
@OneToMany(mappedBy="user")
private Set<Account> accounts;
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Set<Account> getAccounts() {
return accounts;
}
public void setAccounts(Set<Account> accounts) {
this.accounts = accounts;
}
}
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.OneToMany;
@Entity
public class Account {
@Column
String name;
@OneToMany(mappedBy="account")
private Set<DebitAccount> debitAccounts;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Set<DebitAccount> getDebitAccounts() {
return debitAccounts;
}
public void setDebitAccounts(Set<DebitAccount> debitAccounts) {
this.debitAccounts = debitAccounts;
}
}
import javax.persistence.Column;
import javax.persistence.Entity;
@Entity
public class DebitAccount {
@Column
String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
希望这会有所帮助。