Java 在Spring引导中找不到返回列“id”的SQL查询

Java 在Spring引导中找不到返回列“id”的SQL查询,java,mysql,spring,Java,Mysql,Spring,希望你能帮助我,因为我正在失去理智:哦 我对Spring引导和本机查询有问题。我的一个查询返回错误java.sql.SQLException:未找到列“id”。-我不知道为什么。在MySQL工作台中进行测试时,一切正常 质疑 实体类 @Entity @Table(name = "lead") public class Lead implements Serializable --- @ManyToMany(mappedBy = "leads", cascade = CascadeType.ALL

希望你能帮助我,因为我正在失去理智:哦

我对Spring引导和本机查询有问题。我的一个查询返回错误java.sql.SQLException:未找到列“id”。-我不知道为什么。在MySQL工作台中进行测试时,一切正常

质疑

实体类

@Entity
@Table(name = "lead")
public class Lead implements Serializable
---
@ManyToMany(mappedBy = "leads", cascade = CascadeType.ALL)
private List<User> users;

@ManyToMany(mappedBy = "wonLeads", cascade = CascadeType.ALL)
private List<User> userWon;


@Entity
@Table(name = "users")
public class User implements Serializable
---
@ManyToMany(cascade =  CascadeType.ALL)
private List<Lead> leads;

@ManyToMany(cascade =  CascadeType.ALL)
private List<Lead> wonLeads;
试试这个:

@Query(value = "SELECT * FROM users_leads WHERE users_userid = :id AND leads_id NOT IN (SELECT won_leads_id FROM users_won_leads)", nativeQuery = true)
List<Lead> findAllNotMarkedAsWon(@Param("id") Long id);

但最好将其重写为hql。

谢谢您的回答,但它仍然返回一个错误,即未找到列“id”。在我的控制器中是这样的:@modeldattribute public List bidLeadsUser user{return leadService.findallnotmarkedaswouser.getId;}哦,一个锯出了什么问题:返回user_leads,这是用户lead的交叉表,但等待结果中的lead。选择*从用户usr内部加入usr.id=ul.users\U user\U id上的用户\U leads ul,其中usr.id=:id和leads\U id不在select won\U leads\U id从用户\U won\U leadsAh,天哪:我现在解决了它。非常感谢你!实体中的表中的主键在哪里?
@Entity
@Table(name = "lead")
public class Lead implements Serializable
---
@ManyToMany(mappedBy = "leads", cascade = CascadeType.ALL)
private List<User> users;

@ManyToMany(mappedBy = "wonLeads", cascade = CascadeType.ALL)
private List<User> userWon;


@Entity
@Table(name = "users")
public class User implements Serializable
---
@ManyToMany(cascade =  CascadeType.ALL)
private List<Lead> leads;

@ManyToMany(cascade =  CascadeType.ALL)
private List<Lead> wonLeads;
@Query(value = "SELECT * FROM users_leads WHERE users_userid = :id AND leads_id NOT IN (SELECT won_leads_id FROM users_won_leads)", nativeQuery = true)
List<Lead> findAllNotMarkedAsWon(@Param("id") Long id);