在一对多关系中,使用左连接(在配置文件中用“fetch=join”或者在Hsql中使用 left join fetch)都会报下面的错误
[
org.hibernate.PropertyAccessException: Exception occurred inside setter of com.ccdup.order.entity.OrderInfo.product
at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:89)
at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:360)
at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:221)
at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3594)
at org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:152)
at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:877)
at org.hibernate.loader.Loader.doQuery(Loader.java:752)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2228)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
at org.hibernate.loader.Loader.list(Loader.java:2120)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
at com.ccdup.order.dao.OrderInfoDao.findAllOrderInfo(OrderInfoDao.java:25)
at com.ccdup.test.TestOf.getAall(TestOf.java:25)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
at org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
at org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:66)
at org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:35)
at org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
at org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:66)
... 37 more
Caused by: org.hibernate.LazyInitializationException: illegal access to loading collection
at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:363)
at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:108)
at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:186)
at com.ccdup.order.entity.OrderInfo.setProduct(OrderInfo.java:173)
... 42 more
/code]
解决方法:在配置文件一对多处加入access="field",即
<set
name="customer"
lazy="false"
cascade="all"
sort="unsorted"
outer-join="true"
access="field"
fetch="join"
>
加上之后“fetch=join”或者在Hsql中使用 left join fetch就不能实现连接了
分享到:
相关推荐
illegal access to protected memory(解决方案).md
illegal memory access(解决方案).md
总之,“illegal key size”错误是由于JCE的密钥长度限制,通过替换JCE策略文件可以解决这一问题。对于重视安全性的应用,尤其是需要使用强加密的场景,这一步是必不可少的。同时,开发者也应关注不同地区对加密技术...
解决办法也很简单: 将下面链接中的jar包下载下来,替换jdk 与jre下两个jar包:local_policy.jar和US_export_policy.jar即可。 jdk对应jar包的路径:D:\Java\jdk1.7.0_25\jre\lib\security jre对应jar包的路径:D:\...
破解、密码、扫描、截包上传
illegal opcode(解决方案).md
在Java编程中,`java.security.InvalidKeyException: Illegal key size` 是一个常见的错误,通常出现在加密或解密操作中,尤其是涉及到对称加密算法如AES(高级加密标准)时。这个错误表明您试图使用的密钥长度不受...
总之,“java.security.InvalidKeyException: Illegal key size”是一个与Java加密策略相关的错误,通过更新`local_policy.jar`和`US_export_policy.jar`文件可以有效地解决。这个过程涉及到对Java安全策略的理解,...
"illegal opcode 红屏报错(hp 360 G6安装win2021)问题解决方法" illegal opcode 错误是指在计算机启动过程中出现的致命错误,常见于操作系统安装或升级过程中。该错误会导致计算机无法启动,出现红屏报错。 ...
科大讯飞语音识别官网接口文档, 语音识别api ,
解决办法。 如在加密过程中出现下面异常: java.security.InvalidKeyException:illegal Key Size 请将两个jar文件按下列操作完成: 如果安装了JRE,将两个jar文件放到%JRE_HOME%\lib\security目录下覆盖原来的文件;...
当遇见java反射机制中的 “获取构造方法” 的错误时,一部分原因是忽略了最容易丢失的参数类型修改。
Illegal Instruction(解决方案).md
在使用C#与南大通用数据库(GBase)交互时,遇到的一个常见问题是尝试更新Blob或Clob(大型对象)时出现错误:“Illegal attempt to use Text/Byte host variable”。这个问题通常发生在利用CSDK中的ADO.NET驱动进行...
illegal function pointer(解决方案).md
对于`java.security.InvalidKeyException: Illegal key size or default parameter`这个异常,主要原因是Java默认的安全策略限制了密钥的长度,解决方法是下载并安装JCE Unlimited Strength Jurisdiction Policy ...
在调用企业微信通讯接口的时候,企业微信aes加密抛出了illegal key size异常,这个异常的原因是jdk jar包缺少lib导致的,不同jdk版本的jar包缺失不同,附件包含jdk6,jdk7,jdk8的jar包依赖,更新覆盖的时候,记得先...
对接微信接口中因为jdk8解密长度不够 报错 java.security.InvalidKeyException: Illegal key size 替换路径:(记得备份原有的文件) C:\Program Files\Java\jdk1.8.0_131\jre\lib\security
1. Access restriction:在Eclipse中编写Java代码时,使用了BASE64Decoder,但Eclipse提示:Access restriction : The type BASE64Decoder is not accessible due to restriction on required library C:\Program ...
为了数据代码在传输过程中的安全,很多时候我们都会将要传输的数据进行...然而,在使用256位密钥加解密的时候,如果不进行特殊处理的话,往往会出现这个异常java.security.InvalidKeyException: Illegal key size。