findAllBy JPA与EmbeddedId

时间:2018-09-07 13:13:34

标签: kotlin spring-data-jpa jpql composite-primary-key hibernate-jpa

我有一个Document的{​​{1}}休眠jpa实体:

EmbeddedId

要通过@Entity data class Document( @EmbeddedId @NotNull val documentExpertId: DocumentExpertId, // other fields ) @Embeddable data class DocumentExpertId( @Column(nullable = false) val expertId: String, @Column(nullable = false) val name: String ) : Serializable 获取所有文档,我想将我的文档JPA存储库接口方法称为:

expertId

但是,我发现的唯一方法是:

fun findAllByExpertId(String expertId): List<Document>

还有另一种方法可以为该方法取一个更好的名称吗?

1 个答案:

答案 0 :(得分:0)

您可以将ID和列定义更改为:

    @EmbeddedId
    @NotNull
    val documentExpertKey: DocumentExpertKey,

    @Column(name = "expertId", nullable = false)
    val id: String,

这样您的查询可以是:

    fun findAllByDocumentExpertKeyId(String expertId): List<Document>

对我来说,这看起来有点正常。