在jpaRepository中创建具有相同域的多个表

时间:2018-02-04 09:40:48

标签: java spring spring-data-jpa

我有一个@Table public class structure implements Serializable{ ... } 域,想要使用它创建多个表。我怎么能用JPARepository做到这一点。

linear-gradient

我想在运行时创建许多具有不同名称和相同结构的表,并将记录保存到它们。

如何使用JPARepository执行此操作?

1 个答案:

答案 0 :(得分:0)

无法动态创建JPA映射类。但是有可能最小化你必须编写的代码。

<强> MappedSuperClass

创建一个用MappedSuperclass注释的类,并让所有其他类继承它。这样,实际映射的类包含的代码非常少。

<强>继承 您在评论中提到您的课程是不同类型。这表明,每个类的表继承可能是正确的方法。

再次创建一个包含所有适当类继承的超类,但这次使用@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)注释它们

<强>分区

你在评论中写下

  

因为我正在处理大量数据,如果我将所有数据都插入到一个表中,我的查询性能就会很低。

这让我觉得你可能在错误的层面上接近这个,你应该真正考虑分区。它的可用性以及它的确切工作方式取决于您使用的数据库。 Therefore I just leave a link to Wikipedia