Hibernate: хранить лицевые вложения в 128 столбцах - PullRequest
0 голосов
/ 26 декабря 2018

Как лучше хранить лицевые вложения в базе данных с помощью Hibernate?

У меня есть 128 значений с плавающей запятой, которые ДОЛЖНЫ храниться в разных столбцах (это необходимо для создания процедур для них позже).

Как должна выглядеть аннотированная спящая модель POJO для этого?Должен ли я создать 128 полей в POJO?Есть ли лучший способ?

1 Ответ

0 голосов
/ 26 декабря 2018

Решение 1: @ ElementCollection

Это простое решение.Но не самый эффективный (в зависимости от вашего использования):

@ElementCollection
@OrderColumn("index")
private List<Float> facialEmbeddings;

@ ElementCollection будет хранить элементы в другой таблице.

@ OrderColumn ("index") использовать столбец "index"содержит целые значения позиций элементов 0, 1, 2 и т. д.

Решение 2. Новое @Entity с @ ManyToOne

Создать новый @Entityсодержащий значение с плавающей точкой.и используйте двунаправленный @ManyToOne.Это решение может быть более удобным, если вы обычно редактируете список facialEmbeddings.

Дополнительную информацию о проблеме производительности можно найти по этой ссылке: https://thoughts -on-java.org / hibernate-советы-elementcollection /

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