【发布时间】:2017-04-25 14:57:25
【问题描述】:
我在 BookRepository 中使用了类型过滤器,但它不起作用。
Book.java
@Entity
public class Book {
private Long id;
private String name;
@ManyToOne(fetch = FetchType.LAZY)
@JoinTable(
name = "book_type",
joinColumns = @JoinColumn(name = "book_id"),
inverseJoinColumns = @JoinColumn(name = "type_id")
)
private Type type;
// getter and setter
}
Type.java
@Entity
public class Type {
private Long id;
private String name;
@OneToMany(fetch = FetchType.LAZY)
@JoinTable(
name = "book_type",
joinColumns = @JoinColumn(name = "type_id"),
inverseJoinColumns = @JoinColumn(name = "book_id")
)
private Collection<Book> books;
// getter and setter
}
BookRepository.java
@Repository
public interface BookRepository extends JpaRepository<Book, Long> {
Page<Book> findBookListByType(Type type, Pageable pageable);
}
不是 Spring Data Jpa 不支持这个功能。
【问题讨论】:
-
为什么不定义你想要执行的查询?什么需要返回什么约束?不知道为什么人们会想到一些连接表......你查询实体和关系,这不是 SQL 土地
标签: hibernate spring-data spring-data-jpa jpql