Получайте ценность от подэлементов JPA

Как я могу получить значение из объекта childofchild с помощью Spring-data-jpa?

например. Person Entity ->Account Entity ->Debit_Account Entity

Сущность дебетового счета содержит значение dbtAmount, которое я хочу получить.

Я новичок в репозитории spring и spring-data-jpa, используя метод поиска, я не могу получить подробности из объекта childofchild.

Будьте осторожны, если вы начинаете строку с 4 (или более) пробелов, редактор предполагает, что это код. Когда вы создаете новый вопрос или редактируете его, вы увидите справку редактора в правой части экрана. Вам следует взять тур, прочитать Как спросить и минимальный воспроизводимый пример.

Nic3500 16.09.2018 17:14

Это можно сделать с помощью отношения наследования между субъектом AccountEntity и Debit Account.

Gaurav Srivastav 16.09.2018 17:19
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
179
1

Ответы 1

Мы должны правильно реализовать отношения между сущностями. Такие как,

  • один к одному
  • один ко многим
  • многие ко многим

Если вы настроили это правильно, вы сможете получить объект-лицо, из него получить объект 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, вам также необходимо определить их.

g00glen00b 17.09.2018 09:16

Другие вопросы по теме