简体   繁体   English

错误 java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Utilisateurt 未映射 [从 Utilisateurt 中选择 t]

[英]Error java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Utilisateurt is not mapped [select t from Utilisateurt]

Can anybody help me out of this situation?有人可以帮我摆脱这种情况吗?

UtilisateurController.java UtilisateurController.java

package com.elfayq.stock.controllers;

import java.util.ArrayList;
import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import com.elfayq.stock.entities.Utilisateur;
import com.elfayq.stock.services.IUtilisateurService;

@Controller
@RequestMapping(value = "/utilisateur")
public class UtilisateurController {
    
    
    
    @Autowired
    private IUtilisateurService utilisateurService;
    
    @RequestMapping(value = "/")
    public String utilisateur(Model model) {
        
        List<Utilisateur> utilisateurs = utilisateurService.selectAll();

        
        if (utilisateurs == null) {
            
            utilisateurs = new ArrayList<Utilisateur>();
            
        }
       model.addAttribute("utilisateurs",utilisateurs);
        
        
        return "utilisateur/utilisateur";
        
        
    }
    
    

}

GenericDaoImpl.java GenericDaoImpl.java

package com.elfayq.stock.dao.impl;
import com.elfayq.stock.dao.IGenericDao;


import java.lang.reflect.Type;
import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import java.lang.reflect.ParameterizedType;


@SuppressWarnings("unchecked")
public class GenericDaoImpl<E> implements IGenericDao<E> {
   
    @PersistenceContext
    EntityManager em;
    
    private Class<E> type;
    
    public Class<E> getType() {
        return type;
    }
    
    public GenericDaoImpl() {
        Type t =getClass().getGenericSuperclass();
        ParameterizedType pt=(ParameterizedType) t;
        type=(Class<E>) pt.getActualTypeArguments()[0];
    }

    
    @Override
    public E save(E entity) {
        em.persist(entity);
        return entity;
    }

    @Override
    public E update(E entity) {
        em.merge(entity);
        return entity;
    }

    @Override
    public List<E> selectAll() {
        Query query=em.createQuery("select t from " + type.getSimpleName() + "t");
        return query.getResultList();
        
        }

    @Override
    public List<E> selectAll(String sortField, String field) {
        Query query=em.createQuery("select t from " + type.getSimpleName() + "t order by" + sortField + "" + field);
        return query.getResultList();
    }
    
    @Override
    public E getById(Long id) {
        return em.find(type, id);
    }

    @Override
    public void remove(Long id) {
        E tab=em.getReference(type, id);
        em.remove(tab);
        
    }

    @Override
    public E findOne(String paramName, Object paramValue) {
        Query query=em.createQuery("select t from " + type.getSimpleName() + "t where " + paramName + " =:x ");
        query.setParameter(paramName, paramValue);
        return query.getResultList().size() > 0 ? (E) query.getResultList().get(0) : null;
        
        /*
         if(query.getResultList().size() > 0)
         {
         return (E) query.getResultList().get(0);
         }
         else
         return null;
         * */
    }

    @Override
    public E findOne(String[] paramName, Object[] paramValue) {
        
        if(paramName.length != paramValue.length)
        {
            return null;
        }
        
        String requete="select t from" + type.getSimpleName() + "e where ";
        int longeur = paramName.length;
        
        for(int i=0; i<longeur; i++)
        {
            requete+="e." + paramName[i] + " =: x" + i;
            
            if(i+1< longeur) 
            {
                requete+= " and ";
            }
        }
        
        Query query=em.createQuery(requete);
        for(int i=0;i<longeur;i++)
        {
            query.setParameter("x"+i, paramValue[i]);
        }
        
        return query.getResultList().size() > 0 ? (E) query.getResultList().get(0) : null;
    }



    @Override
    public int findCountBy(String paramName, String paramValue) {
        Query query=em.createQuery("select t from " +type.getSimpleName() + " t where " + paramName + ":= x ");
        query.setParameter(paramName, paramValue);
        return query.getResultList().size() > 0 ? ((Long) query.getSingleResult()).intValue() : 0;
    }
    
    

    
}

This give an error:这给出了一个错误:

État HTTP 500 – Erreur interne du serveur État HTTP 500 – Erreur interne du serverur

Type Rapport d'exception类型报告 d'exception

message Request processing failed;消息请求处理失败; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Utilisateurt is not mapped [select t from Utilisateurt]嵌套异常是 java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Utilisateurt is not mapped [select t from Utilisateurt]

description Le serveur a rencontré une erreur interne qui l'a empêché de satisfaire la requête.描述 Le serveur a rencontré une erreur interne qui l'a empêché de Satisfaire la requête。

exception例外

org.springframework.web.util.NestedServletException: Request processing failed; org.springframework.web.util.NestedServletException:请求处理失败; nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Utilisateurt is not mapped [select t from Utilisateurt] org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:634) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) nested exception is java.lang.IllegalArgumentException: org.hibernate.hql.ast.QuerySyntaxException: Utilisateurt is not mapped [select t from Utilisateurt] org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:894) org.springframework .web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) javax.servlet.http.HttpServlet.service(HttpServlet.java:634) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache .tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

在此处输入图像描述

Thank you.谢谢你。

it seems like the answer is right there - one of your queries does select t from utilisateurt , so your type.getSimpleName() seems to return utilisateurt with t at the end and I am guessing your table is called differently似乎答案就在那里 - 你的一个查询是select t from utilisateurt ,所以你的 type.getSimpleName() 似乎在最后返回 utilisateurt 和我猜你的表被称为不同

暂无
暂无

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

相关问题 java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:客户未映射[来自客户] - java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: Customer is not mapped [from Customer] java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException:未映射用户(来自User) - java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped [from User] java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: 用户未映射 - java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: User is not mapped org.hibernate.hql.ast.QuerySyntaxException:[未从UserType映射] UserType - org.hibernate.hql.ast.QuerySyntaxException: UserType is not mapped [from UserType] org.hibernate.hql.ast.QuerySyntaxException:表未映射(但已映射) - org.hibernate.hql.ast.QuerySyntaxException: table is not mapped(but mapped) 实体未映射 Hibernate org.hibernate.hql.ast.QuerySyntaxException - entity is not mapped Hibernate org.hibernate.hql.ast.QuerySyntaxException java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException - java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException 线程“main”中的异常 java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException 获取此 Excdption - Exception in thread "main" java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException getting this Excdption org.hibernate.hql.ast.QuerySyntaxException:表未映射 - org.hibernate.hql.ast.QuerySyntaxException: table not mapped java.lang.IllegalArgumentException:org.hibernate.hql.internal.ast.QuerySyntaxException: - java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException:
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM