Eu quero escrever uma assinatura de método de interface de repositório Spring Data JPA que me permitirá encontrar entidades com uma propriedade de um objeto incorporado nessa entidade. Alguém sabe se isso é possível e se sim como?
Este é o meu código:
@Entity
@Table(name = "BOOK_UPDATE_QUEUE", indexes = { uniqueConstraints = @UniqueConstraint(columnNames = {
"bookId", "region" }, name = "UK01_BOOK_UPDATE_QUEUE"))
public class QueuedBook implements Serializable {
@Embedded
@NotNull
private BookId bookId;
...
}
@Embeddable
public class BookId implements Serializable {
@NotNull
@Size(min=1, max=40)
private String bookId;
@NotNull
@Enumerated(EnumType.STRING)
private Region region;
...
}
public interface QueuedBookRepo extends JpaRepository<QueuedBook, Long> {
//I'd like to write a method like this, but can't figure out how to search by region,
//when region is actually a part of the embedded BookId
Page<QueuedBook> findByRegion(Region region, Pageable pageable);
}
Posso escrever uma consulta para isso usando Spring Data?
findByBookIdRegion(Region region, Pageable pageable)
faz o truque?