Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.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 Can';t使用注释在SpringIOC中创建请求范围bean_Java_Spring_Hibernate_Inversion Of Control - Fatal编程技术网

Java Can';t使用注释在SpringIOC中创建请求范围bean

Java Can';t使用注释在SpringIOC中创建请求范围bean,java,spring,hibernate,inversion-of-control,Java,Spring,Hibernate,Inversion Of Control,我正在尝试创建一个spring应用程序,允许用户注册一个帐户。这涉及到将数据提交给控制器,控制器将数据传递给调用my DAO的服务。这是我有史以来的第一个Spring应用程序,我一直在遵循一系列不同的指南,以获得我的应用程序 因此,当我将请求范围添加到bean中时,我的问题出现了。我向服务和模型bean添加了请求作用域,因为单例作用域在不同的http请求中将数据保留在我的对象中。因此,当我运行应用程序并将数据发送到控制器时,我不会收到任何控制台错误,但我的应用程序不会执行任何操作。我调试的时候

我正在尝试创建一个spring应用程序,允许用户注册一个帐户。这涉及到将数据提交给控制器,控制器将数据传递给调用my DAO的服务。这是我有史以来的第一个Spring应用程序,我一直在遵循一系列不同的指南,以获得我的应用程序

因此,当我将请求范围添加到bean中时,我的问题出现了。我向服务和模型bean添加了请求作用域,因为单例作用域在不同的http请求中将数据保留在我的对象中。因此,当我运行应用程序并将数据发送到控制器时,我不会收到任何控制台错误,但我的应用程序不会执行任何操作。我调试的时候 请注意,当DAO尝试插入用户对象“org.hibernate.MappingException:Unknown entity:com.nvc.slink.model.user$$EnhancerBySpringCGLIB$$6c38e058”时,我遇到了这个错误 当我发现这个错误时,当我查看我的用户对象时,我注意到它有一些奇怪的成员变量:

org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor@5ced77ee
org.springframework.aop.framework.CglibAopProxy$DynamicUnadvisedInterceptor@40464597
org.springframework.aop.framework.CglibAopProxy$SerializableNoOp@21df885d
org.springframework.aop.framework.CglibAopProxy$SerializableNoOp@5c608df2
org.springframework.aop.framework.CglibAopProxy$AdvisedDispatcher@6b85c397
org.springframework.aop.framework.CglibAopProxy$EqualsInterceptor@191d598d
org.springframework.aop.framework.CglibAopProxy$HashCodeInterceptor@445db793 
我假设这与我将请求范围添加到bean中直接相关,这也让我相信我不会搞砸。我已经试着解决这个问题一个星期了,感觉好像我已经阅读了所有与我的问题相关的stackoverflow问题,但并没有幸运地解决这个问题

下面是一些相关的源文件(我确实故意抹掉了一些包名)

我的配置:

我的java运行类

//Application.java
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.context.web.SpringBootServletInitializer;
import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.transaction.annotation.EnableTransactionManagement;

@Configuration
@ComponentScan
@EnableTransactionManagement
@EnableAutoConfiguration
public class Application extends SpringBootServletInitializer{

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(applicationClass);
    }

    private static Class<Application> applicationClass = Application.class;
}
}

模型豆

import java.util.Date;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;

import com.nvc.slink.model.User;
import com.nvc.slink.model.Userauthentication;

@Configuration
@ComponentScan({ "XX.XXX.XXXX" })
public class ModelConfig {

    @Bean
    @Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
    public User user(){
        Date d = new Date();
        User u = new User();
        u.setULastactive(d);
        return u;
    }

    @Bean
    @Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
    public Userauthentication userauthentication(){
        Userauthentication ua = new Userauthentication();
        return ua;
    }
}
服务豆

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Scope;
import org.springframework.context.annotation.ScopedProxyMode;

import com.nvc.slink.service.RegisterServiceImpl;
import com.nvc.slink.service.UserServiceImpl;

@Configuration
@ComponentScan({ "XX.XXX.XXXX" })
public class ServiceConfig {

    @Bean
    @Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
    public UserServiceImpl userService(){
        return new UserServiceImpl();
    }

    @Bean 
    @Scope(value = "request", proxyMode = ScopedProxyMode.TARGET_CLASS)
    public RegisterServiceImpl registerService(){
        return new RegisterServiceImpl();
    }
}
刀豆

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;

import com.nvc.slink.dao.RegisterDaoImpl;
import com.nvc.slink.dao.UserDaoImpl;

@Configuration
@ComponentScan({ "XX.XXX.XXXX" })
public class DaoConfig {

    @Bean
    public UserDaoImpl userDao(){
        return new UserDaoImpl();
    }

    @Bean
    public RegisterDaoImpl registerDao(){
        return new RegisterDaoImpl();
    }
}
用户注册控制器

import javax.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;

import com.nvc.slink.service.IRegisterService;
import com.nvc.slink.transfermodels.UserTO;

@RestController
public class RegisterController {

    @Autowired
    private IRegisterService registerService;

    /*
    @Autowired
    private IUserService userService;

    @RequestMapping("/name/{name}")
    public String greeting(@PathVariable String name) {
        return name;
    }

    @RequestMapping("/all")
    public List<User> index() {
        return userService.getAllUsers();
    }*/

    @RequestMapping(value= "/register", method = RequestMethod.POST)
    public Object register(@Valid @RequestBody UserTO user,BindingResult result){ //Make into register Object
        if (result.hasErrors()) {
            return result.getAllErrors();
        }
        return registerService.register(user);
    }
}
用户模型

// Generated Dec 29, 2014 7:43:39 PM by Hibernate Tools 4.3.1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;

import static javax.persistence.GenerationType.IDENTITY;

import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

/**
 * User generated by hbm2java
 */
@Entity
@Table(name = "user", catalog = "slinkdb", uniqueConstraints = {
        @UniqueConstraint(columnNames = "u_iduserauthentication"),
        @UniqueConstraint(columnNames = "u_email"),
        @UniqueConstraint(columnNames = "u_username") })
public class User implements java.io.Serializable {

    private Integer iduser;
    private Userauthentication userauthentication;
    private String UEmail;
    private String UImgsrc;
    private Date ULastactive;
    private boolean UPrivate = false;
    private String UUsername;
    private Set<UserCode> userCodes = new HashSet<UserCode>(0);
    private Set<UserDefault> userDefaults = new HashSet<UserDefault>(0);
    private Set<Gateway> gateways = new HashSet<Gateway>(0);

    public User() {
    }

    public User(String UEmail, boolean UPrivate) {
        this.UEmail = UEmail;
        this.UPrivate = UPrivate;
    }

    public User(Userauthentication userauthentication, String UEmail,
            String UImgsrc, Date ULastactive, boolean UPrivate,
            String UUsername, Set<UserCode> userCodes,
            Set<UserDefault> userDefaults, Set<Gateway> gateways) {
        this.userauthentication = userauthentication;
        this.UEmail = UEmail;
        this.UImgsrc = UImgsrc;
        this.ULastactive = ULastactive;
        this.UPrivate = UPrivate;
        this.UUsername = UUsername;
        this.userCodes = userCodes;
        this.userDefaults = userDefaults;
        this.gateways = gateways;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "iduser", unique = true, nullable = false)
    public Integer getIduser() {
        return this.iduser;
    }

    public void setIduser(Integer iduser) {
        this.iduser = iduser;
    }


    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "u_iduserauthentication", unique = true)
    @Cascade(CascadeType.ALL)
    public Userauthentication getUserauthentication() {
        return this.userauthentication;
    }

    public void setUserauthentication(Userauthentication userauthentication) {
        this.userauthentication = userauthentication;
    }

    @Column(name = "u_email", unique = true, nullable = false, length = 100)
    public String getUEmail() {
        return this.UEmail;
    }

    public void setUEmail(String UEmail) {
        this.UEmail = UEmail;
    }

    @Column(name = "u_imgsrc", length = 45)
    public String getUImgsrc() {
        return this.UImgsrc;
    }

    public void setUImgsrc(String UImgsrc) {
        this.UImgsrc = UImgsrc;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "u_lastactive", length = 19)
    public Date getULastactive() {
        return this.ULastactive;
    }

    public void setULastactive(Date ULastactive) {
        this.ULastactive = ULastactive;
    }

    @Column(name = "u_private", nullable = false)
    public boolean isUPrivate() {
        return this.UPrivate;
    }

    public void setUPrivate(boolean UPrivate) {
        this.UPrivate = UPrivate;
    }

    @Column(name = "u_username", unique = true, length = 45)
    public String getUUsername() {
        return this.UUsername;
    }

    public void setUUsername(String UUsername) {
        this.UUsername = UUsername;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
    public Set<UserCode> getUserCodes() {
        return this.userCodes;
    }

    public void setUserCodes(Set<UserCode> userCodes) {
        this.userCodes = userCodes;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
    public Set<UserDefault> getUserDefaults() {
        return this.userDefaults;
    }

    public void setUserDefaults(Set<UserDefault> userDefaults) {
        this.userDefaults = userDefaults;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
    public Set<Gateway> getGateways() {
        return this.gateways;
    }

    public void setGateways(Set<Gateway> gateways) {
        this.gateways = gateways;
    }

}
在发生错误的DAO级别添加了完整堆栈跟踪

org.hibernate.MappingException: Unknown entity: com.nvc.slink.model.User$$EnhancerBySpringCGLIB$$332d007d
    at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1096)
    at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1443)
    at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:116)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:209)
    at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:194)
    at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
    at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:715)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:707)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:702)
    at com.nvc.slink.dao.RegisterDaoImpl.insertUser(RegisterDaoImpl.java:19)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at com.sun.proxy.$Proxy61.insertUser(Unknown Source)
    at com.nvc.slink.service.RegisterServiceImpl.createNewUser(RegisterServiceImpl.java:43)
    at com.nvc.slink.service.RegisterServiceImpl.register(RegisterServiceImpl.java:58)
    at com.nvc.slink.service.RegisterServiceImpl$$FastClassBySpringCGLIB$$8757c338.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
    at com.nvc.slink.service.RegisterServiceImpl$$EnhancerBySpringCGLIB$$ce76b984.register(<generated>)
    at com.nvc.slink.service.RegisterServiceImpl$$FastClassBySpringCGLIB$$8757c338.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
    at com.nvc.slink.service.RegisterServiceImpl$$EnhancerBySpringCGLIB$$d399c44.register(<generated>)
    at com.nvc.slink.controller.RegisterController.register(RegisterController.java:42)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1695)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
org.hibernate.MappingException:未知实体:com.nvc.slink.model.User$$EnhancerBySpringCGLIB$$332d007d
位于org.hibernate.internal.SessionFactoryImpl.getEntityypersister(SessionFactoryImpl.java:1096)
位于org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1443)
位于org.hibernate.event.internal.AbstractSaveEventListener.SaveWithGenerateId(AbstractSaveEventListener.java:116)
在org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:209)中
位于org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
位于org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:194)
位于org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
位于org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
位于org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:715)
位于org.hibernate.internal.SessionImpl.save(SessionImpl.java:707)
位于org.hibernate.internal.SessionImpl.save(SessionImpl.java:702)
位于com.nvc.slink.dao.RegisterDaoImpl.insertUser(RegisterDaoImpl.java:19)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中
位于java.lang.reflect.Method.invoke(Method.java:483)
位于org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
位于org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:157)上
位于org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上
位于org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
位于com.sun.proxy.$Proxy61.insertUser(未知来源)
位于com.nvc.slink.service.RegisterServiceImpl.createNewUser(RegisterServiceImpl.java:43)
位于com.nvc.slink.service.RegisterServiceImpl.register(RegisterServiceImpl.java:58)
位于com.nvc.slink.service.RegisterServiceImpl$$FastClassBySpringCGLIB$$8757c338.invoke()
位于org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
位于org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:157)上
位于org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
位于org.springframework.transaction.interceptor.TransactionSpectSupport.invokeWithinTransaction(TransactionSpectSupport.java:262)
位于org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:179)上
位于org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
在com.nvc.slink.service.RegisterServiceImpl$$EnhancerBySpringCGLIB$$ce76b984.register()上
位于com.nvc.slink.service.RegisterServiceImpl$$FastClassBySpringCGLIB$$8757c338.invoke()
位于org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
位于org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
在org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:157)上
位于org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
位于org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
在
// Generated Dec 29, 2014 7:43:39 PM by Hibernate Tools 4.3.1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;

import static javax.persistence.GenerationType.IDENTITY;

import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

import org.hibernate.annotations.Cascade;
import org.hibernate.annotations.CascadeType;

/**
 * User generated by hbm2java
 */
@Entity
@Table(name = "user", catalog = "slinkdb", uniqueConstraints = {
        @UniqueConstraint(columnNames = "u_iduserauthentication"),
        @UniqueConstraint(columnNames = "u_email"),
        @UniqueConstraint(columnNames = "u_username") })
public class User implements java.io.Serializable {

    private Integer iduser;
    private Userauthentication userauthentication;
    private String UEmail;
    private String UImgsrc;
    private Date ULastactive;
    private boolean UPrivate = false;
    private String UUsername;
    private Set<UserCode> userCodes = new HashSet<UserCode>(0);
    private Set<UserDefault> userDefaults = new HashSet<UserDefault>(0);
    private Set<Gateway> gateways = new HashSet<Gateway>(0);

    public User() {
    }

    public User(String UEmail, boolean UPrivate) {
        this.UEmail = UEmail;
        this.UPrivate = UPrivate;
    }

    public User(Userauthentication userauthentication, String UEmail,
            String UImgsrc, Date ULastactive, boolean UPrivate,
            String UUsername, Set<UserCode> userCodes,
            Set<UserDefault> userDefaults, Set<Gateway> gateways) {
        this.userauthentication = userauthentication;
        this.UEmail = UEmail;
        this.UImgsrc = UImgsrc;
        this.ULastactive = ULastactive;
        this.UPrivate = UPrivate;
        this.UUsername = UUsername;
        this.userCodes = userCodes;
        this.userDefaults = userDefaults;
        this.gateways = gateways;
    }

    @Id
    @GeneratedValue(strategy = IDENTITY)
    @Column(name = "iduser", unique = true, nullable = false)
    public Integer getIduser() {
        return this.iduser;
    }

    public void setIduser(Integer iduser) {
        this.iduser = iduser;
    }


    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "u_iduserauthentication", unique = true)
    @Cascade(CascadeType.ALL)
    public Userauthentication getUserauthentication() {
        return this.userauthentication;
    }

    public void setUserauthentication(Userauthentication userauthentication) {
        this.userauthentication = userauthentication;
    }

    @Column(name = "u_email", unique = true, nullable = false, length = 100)
    public String getUEmail() {
        return this.UEmail;
    }

    public void setUEmail(String UEmail) {
        this.UEmail = UEmail;
    }

    @Column(name = "u_imgsrc", length = 45)
    public String getUImgsrc() {
        return this.UImgsrc;
    }

    public void setUImgsrc(String UImgsrc) {
        this.UImgsrc = UImgsrc;
    }

    @Temporal(TemporalType.TIMESTAMP)
    @Column(name = "u_lastactive", length = 19)
    public Date getULastactive() {
        return this.ULastactive;
    }

    public void setULastactive(Date ULastactive) {
        this.ULastactive = ULastactive;
    }

    @Column(name = "u_private", nullable = false)
    public boolean isUPrivate() {
        return this.UPrivate;
    }

    public void setUPrivate(boolean UPrivate) {
        this.UPrivate = UPrivate;
    }

    @Column(name = "u_username", unique = true, length = 45)
    public String getUUsername() {
        return this.UUsername;
    }

    public void setUUsername(String UUsername) {
        this.UUsername = UUsername;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
    public Set<UserCode> getUserCodes() {
        return this.userCodes;
    }

    public void setUserCodes(Set<UserCode> userCodes) {
        this.userCodes = userCodes;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
    public Set<UserDefault> getUserDefaults() {
        return this.userDefaults;
    }

    public void setUserDefaults(Set<UserDefault> userDefaults) {
        this.userDefaults = userDefaults;
    }

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "user")
    public Set<Gateway> getGateways() {
        return this.gateways;
    }

    public void setGateways(Set<Gateway> gateways) {
        this.gateways = gateways;
    }

}
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.nvc.slink.model.User;

@Repository
public class RegisterDaoImpl implements IRegisterDao {
    @Autowired
    private SessionFactory sessionFactory;

    @Override
    public User insertUser(User u) throws Exception {
        try{
            Session session = sessionFactory.getCurrentSession();
            session.save(u);
            return u;
        }catch(Exception e){ //Could not insert user;
            throw new Exception();
        }
    }   
}
org.hibernate.MappingException: Unknown entity: com.nvc.slink.model.User$$EnhancerBySpringCGLIB$$332d007d
    at org.hibernate.internal.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:1096)
    at org.hibernate.internal.SessionImpl.getEntityPersister(SessionImpl.java:1443)
    at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:116)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:209)
    at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:194)
    at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)
    at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)
    at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:715)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:707)
    at org.hibernate.internal.SessionImpl.save(SessionImpl.java:702)
    at com.nvc.slink.dao.RegisterDaoImpl.insertUser(RegisterDaoImpl.java:19)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
    at com.sun.proxy.$Proxy61.insertUser(Unknown Source)
    at com.nvc.slink.service.RegisterServiceImpl.createNewUser(RegisterServiceImpl.java:43)
    at com.nvc.slink.service.RegisterServiceImpl.register(RegisterServiceImpl.java:58)
    at com.nvc.slink.service.RegisterServiceImpl$$FastClassBySpringCGLIB$$8757c338.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:262)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
    at com.nvc.slink.service.RegisterServiceImpl$$EnhancerBySpringCGLIB$$ce76b984.register(<generated>)
    at com.nvc.slink.service.RegisterServiceImpl$$FastClassBySpringCGLIB$$8757c338.invoke(<generated>)
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
    at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:708)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133)
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:644)
    at com.nvc.slink.service.RegisterServiceImpl$$EnhancerBySpringCGLIB$$d399c44.register(<generated>)
    at com.nvc.slink.controller.RegisterController.register(RegisterController.java:42)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:483)
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215)
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132)
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:749)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:689)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:938)
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:870)
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961)
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1736)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1695)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)