Hibernate определить класс из нескольких столбцов в нескольких таблицах - PullRequest
0 голосов
/ 16 апреля 2011

у меня есть класс с некоторыми полями данных:

class Call{
roomId
roomDisplay
roomLocation
typeId
name
staffAidId
}

теперь я хотел бы отобразить это, используя аннотации hibernate в java но оригинальный SQL-запрос, который я использовал, был примерно таким:

SELECT 
    c.roomId, 
    r.display, 
    r.location, 
    c.typeId, 
    c.staffAidId, 
    s.firstname,
  s.lastname
FROM callalert c 
JOIN staffmember s  
LEFT JOIN roomGroup g ON g.groupId = s.roomGroupId 
LEFT JOIN room r ON r.roomId = g.roomId
WHERE s.staffId = 4444 AND c.roomId = g.roomId 

есть ли способ отобразить это другими словами: Есть ли способ сопоставить столбцы из разных таблиц в 1 пользовательский класс? класс не является прямым представлением 1 таблицы и из всех участвующих таблиц используются не все столбцы

редактировать

Я попробовал решение для просмотра:

создал вид по вышеуказанному запросу затем я пытаюсь сгенерировать спящие классы, используя Netbeans и я генерирую 2 класса: Класс Calls и Встраиваемый класс CallId

после поиска в Интернете это происходит потому, что hibernate нужен первичный ключ, поэтому он сам его создает

как я могу убедиться, что генерируется только 1 класс? Как я могу дать представление первичный ключ (хороший первичный ключ будет 1 из первичных ключей базовых таблиц). как мне установить это?

1 Ответ

1 голос
/ 16 апреля 2011

Вы сможете сделать это, если создадите представление базы данных для этого запроса.Это бы сработало, но у него есть и обратная сторона: вы не можете автоматически генерировать схему ddl из моделей базы данных.

Ознакомьтесь с этой статьей

...