Hibernate Java-意外的AST节点
我正在使用Hibernate 5开发一个Spring引导应用程序。我对存储库有一个自定义的Hibernate Java-意外的AST节点,java,hibernate,Java,Hibernate,我正在使用Hibernate 5开发一个Spring引导应用程序。我对存储库有一个自定义的@Query public interface TeamResourceRepository extends CrudRepository<ResourceItem, Integer> { @Query("Select i from ResourceItem as i JOIN i.resourceCategories as c WHERE c.ID = ?1") List&l
@Query
public interface TeamResourceRepository extends CrudRepository<ResourceItem, Integer> {
@Query("Select i from ResourceItem as i JOIN i.resourceCategories as c WHERE c.ID = ?1")
List<ResourceItem> findByCategory(int id);
@Query("Select i from ResourceItem as i JOIN i.tags as t WHERE (t.description = ?1 "
+ " OR i.name LIKE ?1%) AND i.isActive ORDER BY i.name")
List<ResourceItem> findByTag(String search);
}
问题可能与param子句类似。 尝试用通配符连接参数:
OR i.name LIKE CONCAT(?1,'%')
在异常中写入整个查询:
Select i from com.midamcorp.resource_server.model.ResourceItem as i JOIN i.tags as t WHERE (t.description = ?1 OR i.name LIKE ?1) AND i.isActive ORDER BY i.name
查看第138列有问题的错误,您应该查看
i.isActive
。我想I.isActive=true
会解决这个问题。你的类ResourceItem
看起来怎么样?请添加code@Jens,已添加。谢谢。谢谢,但不幸的是,它仍然给出相同的错误。这确实是正确的。就我而言,是i.isActive=1。我感谢你的帮助,这似乎是一个相当奇怪的错误。
Select i from com.midamcorp.resource_server.model.ResourceItem as i JOIN i.tags as t WHERE (t.description = ?1 OR i.name LIKE ?1) AND i.isActive ORDER BY i.name