Я немного растерялся, как мне настроить свою базу данных и сущности в jpa для того, что я пытаюсь сделать.
У меня есть таблица Attachments
, в которой содержатся загруженные данные вложения, такие как оригинальное имя, сохраненное с uid, дата сохранена и т. Д. c.
Несколько других таблиц могут иметь Attachments
и более одной таблицы на запись.
Таким образом, для каждой таблицы, которая может иметь вложение, у меня будет таблица ассоциации с идентификатором и идентификатором вложения.
Attachments
-----------
ID
Original Name
Saved Name
User
-----------
Id
Name
Dog
-----------
Id
Breed
Name
Dog_Attachments
----------------
dog_id
attachment_id
User_Attachments
----------------
user_id
attachment_id
Так что я думаю, что это правильный способ настройки базы данных ... Но тогда как мне настроить объекты JPA?
@Entity
@Table(name = "User")
public class UserEntity {
@Id
private Long id;
@Column(name = "Name")
private String name;
...
List<Attachment> attachments;
...
}
@Entity
@Table(name = "user_attachment")
public class UserAttachment {
@Id
@Column(name = "user_id");
private Long userId;
@Id
@Column(name = "attachment_id")
private Long attachmentId
....
}
@Entity
@Table(name = "attachment")
public class Attachment {
@Column(name = "id");
private Long id;
@Column(name = "original_name")
private Long originalName
....
}
Возможно ли это? Или я должен изменить список пользователя, чтобы он стал списком User_Attachments, а затем user_attachments добавить соединение? По сути, JPA может «сгладить» мои объекты или мне нужно