• org.hibernate.hql.internal.ast.QuerySyntaxException: *** is not mapped [from <model_name>]


    @PersistenceContext
        private EntityManager entityManager;
    
        public List<User> findAll() {
            Query query = entityManager.createQuery("from User");
            return query.getResultList();
        }
    

    在执行上面代码时抛出了标题的错误,在网上搜了半个小时,终于还是stackoverflow上找到了结果,国内的教程99%都指向一个问题,hql语句中表名写错了,应该是定义的Entity名字,而非数据库中的名字。
    当然,如果这样确实会抛出这个错误,可我没写错,就是实体类的名字,所以只能继续搜。
    最后发现是因为我的项目是聚合项目,实体类与实际使用的业务类不在同一项目内,所以springboot没有扫描到定义类,找不到类所以抛出这个问题,知道问题就知道如何解决,在业务类所在项目的启动类中,加上如下代码:
    @EntityScan(basePackages = "com.heping.Entity")
    指定Entity类所在的包名,这样即可
    stackoverflow地址
    最后附上测试代码github地址
    github

  • 相关阅读:
    简单SSO(Single signon)的另类实现方式,钩子技术
    URL
    [恢]hdu 1287
    [恢]hdu 1220
    [恢]hdu 1015
    [恢]hdu 2095
    [恢]hdu 1862
    HDOJ 300!
    [恢]hdu 1029
    [恢]hdu 1016
  • 原文地址:https://www.cnblogs.com/daner1257/p/13259265.html
Copyright © 2020-2023  润新知