如何解决用于列表清单的JPA注释是什么?
我有一个实体,其中包含一个实体列表,而该实体列表又包含一个实体列表。我很难找到使用JPA实现此目标的最佳方法。我读了很多,但似乎找不到这种情况。你们有什么建议吗?
@Entity
data class Invoice(
@Id
val Id: UUID,// What annotation should be used here?
val invoiceSpecifications: List<InvoiceSpecification>
)
@Entity
data class InvoiceSpecification(
@Id
val Id: UUID,// What annotation should be used here?
val invoiceSpecificationLines: List<InvoiceSpecificationLine>
)
@Entity
data class InvoiceSpecificationLine(
@Id
val Id: UUID
)
添加更多信息:
当我用完
@OneToMany(fetch = FetchType.EAGER,cascade = [CascadeType.ALL],orphanRemoval = true)
@JoinColumn(name = “invoice_id”)
在负载很重的系统中,几乎不可能更改表中的任何内容。例如,添加索引或列会导致数据库锁定。拥有列表列表也许是不好的设计? ?
解决方法
您可以看看我在github中有关不同映射的大量示例。
例如,您缺少的注释为@JoinColumn
@Entity
data class Invoice(
@Id
val Id: UUID,@JoinColumn(name="invoice_id",nullable = false)
val invoiceSpecifications: List<InvoiceSpecification>
)
这将需要发票规格表中的列invoice_id
,因此可以将其与发票表结合起来。
请记住在数据库的invoice_id上添加外键!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。