org.hibernate.HibernateException: Javassist Enhanceme

at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxy(JavassistLazyInitializer.java:143)
at org.hibernate.proxy.pojo.javassist.JavassistProxyFactory.getProxy(JavassistProxyFactory.java:73)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.createProxy(AbstractEntityTuplizer.java:758)
at org.hibernate.persister.entity.AbstractEntityPersister.createProxy(AbstractEntityPersister.java:4406)
at org.hibernate.event.internal.DefaultLoadEventListener.createProxyIfNecessary(DefaultLoadEventListener.java:332)
at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:258)
at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:150)
at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1092)
at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1019)
at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:672)
at org.hibernate.type.EntityType.resolve(EntityType.java:490)
at org.hibernate.type.EntityType.nullSafeGet(EntityType.java:290)
at org.hibernate.internal.IteratorImpl.next(IteratorImpl.java:123)
at com.lj.zhang.HibernateTest.main(HibernateTest.java:34)
Caused by: java.lang.InstantiationException: com.lj.zhang.User_$$_javassist_0
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.getProxy(JavassistLazyInitializer.java:140)
... 13 more


这里在java反射的newInstance()那里出了问题, 这里有一个小陷阱。

比如我们有两个类,分别是User和People。
User定义了有参构造函数, People什么都没定义。

当我们运行
People p = People.calss.newInstance();
User  u=User.class.newInstance()


前面的是没有问题的, 顺利执行。
而后面的会报错

Exception in thread "main" java.lang.InstantiationException: com.lj.zhang.User
at java.lang.Class.newInstance0(Class.java:340)
at java.lang.Class.newInstance(Class.java:308)
at test.SerializeTest.main(SerializeTest.java:19)

原因是当我们定义了带参数的构造函数以后, 默认的构造函数就没了。
也就是不能用
User u=new User();
来实例化User了, 就会报这个InstantiationException。

猜你喜欢

转载自alleni123.iteye.com/blog/1975078