休眠:将面部嵌入存储在128列中

时间:2018-12-26 18:45:30

标签: java hibernate face-recognition

如何使用Hibernate更好地将面部嵌入存储在数据库中?

我有128个浮点值,必须存储在不同的列中(以后需要用它来创建过程)。

对此应该如何注释的休眠POJO模型?我应该在POJO中创建128个字段吗?有什么更好的方法吗?

1 个答案:

答案 0 :(得分:1)

解决方案1:@ElementCollection

这是一个简单的解决方案。但不是最有效的(取决于您的用法):

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

@ElementCollection将元素存储在另一个表中。

@OrderColumn(“ index”)使用列“ index”包含元素0、1、2等位置的整数值。

解决方案2:使用@ManyToOne新建@Entity

创建一个包含浮点值的新@Entity。并使用双向@ManyToOne。 如果您发现自己经常编辑facialEmbeddings列表,则此解决方案可能更有效。

您可以在以下链接中找到有关性能问题的更多信息:https://thoughts-on-java.org/hibernate-tips-elementcollection/