Как я могу получить значение из объекта childofchild с помощью Spring-data-jpa?
например. Person Entity ->Account Entity ->Debit_Account Entity
Сущность дебетового счета содержит значение dbtAmount, которое я хочу получить.
Я новичок в репозитории spring и spring-data-jpa, используя метод поиска, я не могу получить подробности из объекта childofchild.
Это можно сделать с помощью отношения наследования между субъектом AccountEntity и Debit Account.




Мы должны правильно реализовать отношения между сущностями. Такие как,
Если вы настроили это правильно, вы сможете получить объект-лицо, из него получить объект Account с помощью метода getAccounts и получить DebitAccount с помощью методов getDebitAccounts.
Концепция сопоставления отношений JPAhttps://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;
}
}
Надеюсь это поможет.
Вы не добавляли другую сторону сопоставления, такую как поле user в классе Account и поле account в классе DebitAccount. Если вы используете mappedBy, вам также необходимо определить их.
Будьте осторожны, если вы начинаете строку с 4 (или более) пробелов, редактор предполагает, что это код. Когда вы создаете новый вопрос или редактируете его, вы увидите справку редактора в правой части экрана. Вам следует взять тур, прочитать Как спросить и минимальный воспроизводимый пример.