Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring boot org.hibernate.hql.internal.ast.QuerySyntaxException:未映射(使用MYSQL)_Java_Spring_Spring Boot - Fatal编程技术网

Java Spring boot org.hibernate.hql.internal.ast.QuerySyntaxException:未映射(使用MYSQL)

Java Spring boot org.hibernate.hql.internal.ast.QuerySyntaxException:未映射(使用MYSQL),java,spring,spring-boot,Java,Spring,Spring Boot,您好,我使用Mysql和Spring boot,当我使用Crudepository hibernate的查询方法时,我的表无法匹配 我的用户类: @Entity @Table(name="Utilisateur") public class User{ @Id private long id; @Column(name="nom") private String nom; @Column(name="prenom") private Stri

您好,我使用Mysql和Spring boot,当我使用Crudepository hibernate的查询方法时,我的表无法匹配

我的用户类:

@Entity

@Table(name="Utilisateur")

public class User{

    @Id
    private long id;
    @Column(name="nom")
    private String nom;
    @Column(name="prenom")
    private String prenom;
    @Column(name="admin")
    private boolean admin;
    @Column(name="actif")
    private boolean actif;
    @Column(name="logins")
    private String logins;
    @Column(name="email")
    private String email;
    @Column(name="naissance")
    private String naissance;
    @Column(name="pwd")
    private String pwd;
    @Column(name="compte")
    private String compte;

    public User(){

    }

    public User(String nom, String prenom, boolean admin, boolean actif, String logins, String email, String naissance, String pwd, String compte) {
        this.nom = nom;
        this.prenom = prenom;
        this.admin = admin;
        this.actif = actif;
        this.logins = logins;
        this.email = email;
        this.naissance = naissance;
        this.pwd = pwd;
        this.compte = compte;
    }
/*Getters and setters*/
}
我的二级机具积垢存放:

@Repository
public interface UserDao  extends CrudRepository<User,Long>{

    public User findByEmail(String email);
    public List<User> findByLogins(String logins);
    public List<User> findAll();

    @Query("SELECT u FROM Utilisateur u where id=?1")
    public User findById(int Id);
}

我不明白为什么当我使用@Query时hibernate不能与我的数据库匹配。谢谢您

而不是使用@Query中的
从用户选择u
使用
从用户选择u


我们应该使用实体名而不是表名。

而不是@Query中的
从用户中选择u
使用
从用户中选择u


我们应该使用实体名而不是表名。

非常感谢,但是如果我在用户类中指定了表名,为什么查询与表使用不匹配?感谢you@zaafrani原因是,在编写
jpql
query
时,它希望我们使用实体名称。如果要使用
usilizateur
,则需要在实体注释中指定它。示例
实体(name=“usiliateur”)
。非常感谢,但是如果我在用户类中指定了表名,为什么查询与表usiliateur不匹配?感谢you@zaafrani原因是,在编写
jpql
query
时,它希望我们使用实体名称。如果要使用
usilizateur
,则需要在实体注释中指定它。示例
实体(name=“usilisateur”)
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = RecipyApplication.class)
@WebAppConfiguration
public class RecipyApplicationTests {

    @Autowired
    private UserDao userDao;
    @Test
    public void should_get_user_by_id(){
        User user = userDao.findById(1);
        Assert.assertNotNull("the id can't be null ",user);
    }

}