findAllBy JPA со встроенным идентификатором
У меня есть это 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 ответ
Вы можете изменить идентификатор и определение столбца на:
@EmbeddedId
@NotNull
val documentExpertKey: DocumentExpertKey,
@Column(name = "expertId", nullable = false)
val id: String,
Чтобы ваш запрос мог быть:
fun findAllByDocumentExpertKeyId(String expertId): List<Document>
Это выглядит немного более нормально для меня.