繁体   English   中英

如何在 java spring 引导中使用多重连接 sql 查询

[英]how to use multiple join sql query in java spring boot

我想在 java spring 引导中使用多重连接查询我找不到答案所以如果你知道解决方案请评论它

public interface CategoryRepository extends JpaRepository<Category, Integer> {

@Query(value = "SELECT t1.name AS lev1, t2.name as lev2, t3.name as lev3, t4.name as lev4 FROM category AS t1 LEFT JOIN category AS t2 ON t2.parent = t1.category_id LEFT JOIN category AS t3 ON t3.parent = t2.category_id LEFT JOIN category AS t4 ON t4.parent = t3.category_id WHERE t1.name = :'ROOT'",nativeQuery = true)
List<Category> findByCategory(String query);
}

这是我的 CategoryRepository 代码

@Data
@Entity
@Table(name="category")
@DynamicInsert
@DynamicUpdate
@NoArgsConstructor
@AllArgsConstructor
public class Category {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="category_id", columnDefinition = "INT(11)")
private int Category_id;
private String name;
private int parent;

}

这是我的类别代码

@RestController
@RequestMapping(value = "/category")
@Slf4j
public class CategoryController {
@Autowired CategoryRepository categoryRepository;

@RequestMapping(value = "/all", method = RequestMethod.GET)
@ResponseBody
public String getDomainList(String query) {
    List<Category> all= this.categoryRepository.findByCategory(query);
    return all.toString();
    //log.info(query);
    //return "Test";
}
} 

这是我的 CategoryController 代码

所以当我运行代码时

2019-10-31 11:10:30.124  WARN 2356 --- [           main] o.h.engine.jdbc.spi.SqlExceptionHelper   : 
SQL Error: 0, SQLState: S0022
2019-10-31 11:10:30.124 ERROR 2356 --- [           main] o.h.engine.jdbc.spi.SqlExceptionHelper   : 
Column 'category_id' not found

我收到了这个错误消息,我真的很想运行它.. 谢谢

在这里检查-可能会解决您的问题

Spring JDBCTemplates:使用 Join 执行查询

试试这个方法

String query= "SELECT firewall_items.src, firewalls.info 
FROM firewall_items 
JOIN firewalls 
ON firewall_items.firewalls_id = firewalls.id"
List<Item> items = jdbcTemplate.query(
      query, 
      new MapSqlParameterSource(), 
      new FirewallInfoRowMapper()
      );

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM