如何使用Hibernate更好地将面部嵌入存储在数据库中?
我有128个浮点值,必须存储在不同的列中(以后需要用它来创建过程)。
对此应该如何注释的休眠POJO模型?我应该在POJO中创建128个字段吗?有什么更好的方法吗?
答案 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/