Мне нужно определить следующую структуру Java, которая будет сохраняться с использованием классов Java Entity : < /p>
- Компания < /code> (например, 001), < /p>
< /li>
< li> может иметь много пользователей (например, robert@company.com), - и у каждого пользователя может быть много Приложения (например, демонстрация),
- Каждое приложение будет иметь 1 связанный эмиттер , который в основном будет содержать идентификатор (например, 1234-5678).
.
├── 001
│ ├── joe@company.com
│ │ └── test
│ │ └── EmitterId (1234-5678)
│ └── robert@company.com
│ ├── test
│ │ └── EmitterId (9876-5432)
│ └── demo
│ └── EmitterId (9876-9876)
└── 002
└── robert@company.com
└── demo
└── EmitterId (1234-5678)
< /code>
Моя цель состоит в том, чтобы иметь возможность запросить базу данных, чтобы принести идентификатор излучения, предоставив 3 части данных: < /p>
Компания (001) +< /li>
user (joe@company.com) +< /li>
Приложение (тест) < /li>
< /ol>
= 1234-5678 < /p>
Если я знаю эти значения заранее, я должен быть в состоянии принести связанное значение EmitterID. < /p>
Я не слишком знаком с моделированием карты с использованием JPA, а ниже - моя первая попытка, но я чувствую, что это не правильный способ решения проблемы. Может ли кто -нибудь дать некоторое представление о том, как это можно смоделировать лучше? Br/> Я бы хотел, чтобы основной ключ для компании -ключи от карты также.
import jakarta.persistence.ElementCollection;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import java.util.Map;
@Entity
public class Company {
@Id
private String id;
@ElementCollection
private Map users;
// getters / setters
}
< /code>
User.java:
import jakarta.persistence.ElementCollection;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.ManyToOne;
import java.util.Map;
@Entity
public class User {
@Id
private String id;
@ElementCollection
private Map applications;
@ManyToOne
private Company company;
// getters / setters
}
< /code>
Application.java:
@Entity
public class Application {
@Id
private String id;
@ManyToOne
private User user;
private Emitter emitter;
// getters / setters
}
< /code>
Emitter.java:
@Entity
public class Emitter {
@Id
private String id;
// getters / setters
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... o-custom-o
Мобильная версия