Собственный запрос JPA (представление SQL) - PullRequest
0 голосов
/ 17 ноября 2011

У меня есть две сущности Customer и Account.

@Entity
@Table(name="customer")
public class Customer
{
    private Long id;
    private String name;
    private Long accountId;
    private String accountType;
    private String accountName;

    ...
}

@Entity
@Table(name="account")
public class Account
{
    private Long id;
    private String accountName;
    private String accountType;
    ...
}

У меня SQL-запрос:

select 
    a.id as account_id, 
    a.account_name, 
    a.account_type, 
    d.id, 
    d.name
from account a, 
     customer d`
where d.account_id = a.id

Успение

  1. account и customer создаются в базе данных при запуске приложения.
  2. accountType и accountName объекта Customer не должны создаваться в базе данных. То есть в таблице базы данных клиентов будут созданы только столбцы id и name.

Вопрос

Как запустить вышеуказанный SQL-запрос и вернуть Customer объект со свойствами accountType и accountName, заполненный значениями account_name и account_type запроса SQL.

1 Ответ

0 голосов
/ 17 ноября 2011

Похоже, вы действительно пытаетесь сделать две разные вещи одновременно. Получить два объекта из базы данных, это действительно то, что выбор для права? Поэтому, когда JPA завершит выбор, вы ожидаете, что ваши сущности будут хранить информацию, которая в данный момент хранится в базе данных.

Так почему бы просто не сделать SELECT, а затем ОБНОВИТЬ?

Кроме того, существует ли коммерческая причина дублирования информации? С точки зрения дизайна, должен ли клиент иметь объект Account, связанный с ним, а не дублировать тип и номер учетной записи?

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