错误:
beanCreationException:创建名为“post repository”的bean时出错:FactoryBean在创建对象时引发异常;嵌套异常为java.lang.IllegalArgumentException:无法为方法public抽象org.springframework.data.domain.page com.example.forumproject.authentication.repository.postrepository.findByTags(java.util.list,org.springframework.data.domain.pagable)创建查询!标记上的操作符SIMPLE_PROPERTY需要一个标量参数,在方法public abstract org.springframework.data.domain.page com.example.forumproject.authentication.repository.postrepository.findByTags(java.util.list,org.springframework.data.domain.pagable)中找到了接口java.util.list。
这是定义的Post类:
@EqualsAndHashCode(callSuper = true)
@Entity
@Data
@Table(name = "posts", uniqueConstraints = { @UniqueConstraint(columnNames = { "title" }) })
@JsonIdentityInfo(generator = ObjectIdGenerators.PropertyGenerator.class, property = "id")
public class Post extends UserDateAudit {
...
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
private User user;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "category_id")
private Category category;
@JsonIgnore
@OneToMany(mappedBy = "post", cascade = CascadeType.ALL, orphanRemoval = true)
private List<Comment> comments;
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "post_tag", joinColumns = @JoinColumn(name = "post_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "tag_id", referencedColumnName = "id"))
private List<Tag> tags;
存储库:
@Repository
public interface PostRepository extends JpaRepository<Post, Long> {
Page<Post> findByCreatedBy(Long userId, Pageable pageable);
Page<Post> findByCategory(Long categoryId, Pageable pageable);
Page<Post> findByTags(List<Tag> tags, Pageable pageable);
Long countByCreatedBy(Long userId);
}
如果我们希望使用in
子句进行具有Spring Data JPA规范动态查询
我们需要在方法名中使用关键字in
,如下所示。
Page<Post> findByTagsIn(List<Tag> tags, Pageable pageable);
您可以在这里找到方法名称中所有支持的关键字
我是JPA新手,现在学习如何通过关系连接两个表。我得到的实体来自数据库。我有两张桌子,分别是Department和Employee。许多员工属于一个部门。 部门 雇员 多对一 错误
我有两门课: 当我用UserRole保存User时,出现了一个奇怪的错误: 如果它创建了userrole_user_role_id,为什么要使用User_Role_ID?我该怎么修好它?
SpringDataJpa中 Specification怎样使用in查询 实体类Menu.java如下 想通过roles属性做in查询,代码如下 错误如下: Parameter value [com.appmtce.pojo.entity.role.Role@20f81e2a] did not match expected type [java.util.Collection (n/a)] 我的S
我正在使用Ebean和Play 2框架,并得到两个模型:用户模型和图书模型。用户模型与图书模型以一对多关系连接。所以每个用户可以有很多书或者根本没有书。图书模式本身也有其特性。现在我想在用户模型中创建一个查询,它只返回用户,这些用户拥有具有某些属性的书籍。例如:一个属性可能是条件,如新建或使用。现在给我所有有新条件的书的用户。是否可以使用Ebean方法创建这样的查询?还是我必须使用原始SQL?
我正在开发一个人力资源管理应用程序,所以我对如何通过JPA管理实体感到困惑。 我的情况是一组多语言上下文中的表:-employees-departments-languages-departments_languages 在我的数据库表之后: 从这个查询中,我需要员工信息,以及部门名称(假设languageId为1) 从eclipse JPA控制台执行查询将返回一个Employee对象,该对象具有
例如,我有两个系列: 第一个被命名为“Songs ”,该集合中的文档存储关于宋立科< code >标题 、< code >持续时间 、< code >发行日期和其他的所有元数据。除此之外,还有< code>artist和< code>producer字段,这些字段存储来自“Stars”集合的相关文档的id。 “歌曲”收藏中的文档示例: 你猜的第二个是“星星”集合,这个集合中的文档存储了关于星星的信