Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/325.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.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 org.springframework.orm.hibernate3.HibernateSystemException:未知实体_Java_Hibernate_Spring - Fatal编程技术网

Java org.springframework.orm.hibernate3.HibernateSystemException:未知实体

Java org.springframework.orm.hibernate3.HibernateSystemException:未知实体,java,hibernate,spring,Java,Hibernate,Spring,这是一个使用IntelliJ的SpringMVC应用程序 我得到了这个错误: org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: com.testproj1.core.model.User; nested exception is org.hibernate.MappingException: Unknown entity: com.testproj1.core.model.User o

这是一个使用IntelliJ的SpringMVC应用程序

我得到了这个错误:

org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: com.testproj1.core.model.User; nested exception is org.hibernate.MappingException: Unknown entity: com.testproj1.core.model.User
    org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:679)
    org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412)
    org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:411)
    org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:512)
    org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:506)
    com.testproj1.core.doa.UserDaoImpl.get(UserDaoImpl.java:17)
    com.testproj1.core.service.UserServiceImpl.getUser(UserServiceImpl.java:22)
    com.testproj1.web.controllers.HomeController.index(HomeController.java:19)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:574)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

root cause

org.hibernate.MappingException: Unknown entity: com.testproj1.core.model.User
    org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:701)
    org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:92)
    org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1080)
    org.hibernate.impl.SessionImpl.get(SessionImpl.java:997)
    org.hibernate.impl.SessionImpl.get(SessionImpl.java:990)
    org.springframework.orm.hibernate3.HibernateTemplate$1.doInHibernate(HibernateTemplate.java:519)
    org.springframework.orm.hibernate3.HibernateTemplate.doExecute(HibernateTemplate.java:406)
    org.springframework.orm.hibernate3.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:374)
    org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:512)
    org.springframework.orm.hibernate3.HibernateTemplate.get(HibernateTemplate.java:506)
    com.testproj1.core.doa.UserDaoImpl.get(UserDaoImpl.java:17)
    com.testproj1.core.service.UserServiceImpl.getUser(UserServiceImpl.java:22)
    com.testproj1.web.controllers.HomeController.index(HomeController.java:19)
    sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
    org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
    org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:790)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:669)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:574)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
testproj1
这是我的设置,hibernate.cfg.xml:

<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

<hibernate-configuration>
    <session-factory>

        <mapping package="com.testproj1.core.model"/>

        <mapping class="com.testproj1.core.model.User"/>


    </session-factory>

</hibernate-configuration>
UserServiceImpl:

@Service
public class UserServiceImpl implements UserService {

    @Autowired
    UserDao userDao;

    public User getUser(int id) {
        return userDao.get(id);
    }

}
UserDaoImpl:

public class UserDaoImpl extends GenericDaoImpl<User, Integer> implements UserDao {



    public User get(int id) {
        User user = super.getHibernateTemplate().get(User.class, id); 


        return user;
    }

    public void addUser(User user)
    {
        super.getHibernateTemplate().save(user);
    }

}
现在很明显,出于某种原因,它没有选择我的用户模型

我感到困惑的是,我设置它是为了让spring在组件扫描标记的servlet-context.xml中自动扫描jar

我在SessionFactorybean标记中还有AnnotatedClass属性


我在阅读sessionFactory bean标记时注释掉了packagesToScan,因为这个错误可能是由于循环引用引起的,我认为这意味着它被连接了很多次?

使用
javax.persistence.Entity
而不是
org.hibernate.annotations.Entity
使用
javax.persistence.Entity
而不是
org.hibernate.annotations.Entity

还可以使用“javax.persistence.Id”作为类标识符,即主键。

还可以使用“javax.persistence.Id”作为类标识符,即主键。

显示实体上的导入class@Bozho我用导入更新了我的q。谢谢显示实体上的导入class@Bozho我用导入更新了我的q。谢谢
@Service
public class UserServiceImpl implements UserService {

    @Autowired
    UserDao userDao;

    public User getUser(int id) {
        return userDao.get(id);
    }

}
public class UserDaoImpl extends GenericDaoImpl<User, Integer> implements UserDao {



    public User get(int id) {
        User user = super.getHibernateTemplate().get(User.class, id); 


        return user;
    }

    public void addUser(User user)
    {
        super.getHibernateTemplate().save(user);
    }

}
package com.testproj1.core.model;

import org.hibernate.annotations.Entity;


import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name="users")
public class User {

    protected Integer id;
    protected String user_name;

    @Id
    public Integer getId() {
        return id;
    }

    @Column
    public String getUsername() {
        return user_name;
    }


    public void setId(Integer id) {
        this.id = id;
    }

    public void setUsername(String user_name) {
        this.user_name = user_name;
    }

}