Desidero scrivere una firma del metodo dell'interfaccia del repository JPA Spring Data che mi consenta di trovare entità con una proprietà di un oggetto incorporato in tale entità. Qualcuno sa se questo è possibile, e se sì come?
Ecco il mio codice:
@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 scrivere una query per questo utilizzando Spring Data?
findByBookIdRegion(Region region, Pageable pageable)
fa il trucco?