Получить значение из JPA субъектов - PullRequest
0 голосов
/ 16 сентября 2018

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

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

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

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

1 Ответ

0 голосов
/ 16 сентября 2018

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

  • один на один
  • один ко многим
  • много ко многим

Если вы настроили это правильно, вы сможете получить сущность человека, из которой получить сущность Account, используя метод getAccounts, и от этого получить DebitAccount, используя методы getDebitAccounts.

Концепция сопоставления отношений JPA https://www.mkyong.com/hibernate/hibernate-one-to-many-relationship-example/

Предполагая, что отношения один ко многим, я добавил больше объяснений,

enter image description here

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;
}
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...