findAllBy JPA со встроенным идентификатором - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть Document спящая сущность 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

Чтобы получить все документы по expertId, я хотел бы, чтобы метод интерфейса моего репозитория JPA назывался:

fun findAllByExpertId(String expertId): List<Document>

Но я нашел только один способ:

fun findAllByDocumentExpertIdExpertId(String expertId): List<Document>

Есть ли другой способ получить лучшее имя для этого метода?

1 Ответ

0 голосов
/ 07 сентября 2018

Вы можете изменить идентификатор и определение столбца на:

    @EmbeddedId
    @NotNull
    val documentExpertKey: DocumentExpertKey,

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

Чтобы ваш запрос мог быть:

    fun findAllByDocumentExpertKeyId(String expertId): List<Document>

Это выглядит немного более нормально для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...