zoukankan      html  css  js  c++  java
  • Hibernate异常之命名查询节点未找到

    异常信息:

     1 java.lang.IllegalArgumentException: No query defined for that name [salaryEmps]
     2     at org.hibernate.internal.AbstractSharedSessionContract.getNamedQuery(AbstractSharedSessionContract.java:578)
     3     at org.hibernate.internal.AbstractSharedSessionContract.getNamedQuery(AbstractSharedSessionContract.java:103)
     4     at pw.fengya.test.TestHibernate.testNamedQuery(TestHibernate.java:59)
     5     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     6     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     7     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     8     at java.lang.reflect.Method.invoke(Method.java:483)
     9     at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:389)
    10     at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115)
    11     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:167)
    12     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor$$Lambda$201/5021240.execute(Unknown Source)
    13     at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
    14     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:163)
    15     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:110)
    16     at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:57)
    17     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:83)
    18     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$$Lambda$133/1144648478.execute(Unknown Source)
    19     at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
    20     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
    21     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
    22     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$$Lambda$136/1681595665.accept(Unknown Source)
    23     at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    24     at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
    25     at java.util.Iterator.forEachRemaining(Iterator.java:116)
    26     at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    27     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
    28     at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
    29     at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    30     at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    31     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    32     at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
    33     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
    34     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$$Lambda$133/1144648478.execute(Unknown Source)
    35     at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
    36     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
    37     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$null$2(HierarchicalTestExecutor.java:92)
    38     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$$Lambda$136/1681595665.accept(Unknown Source)
    39     at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
    40     at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
    41     at java.util.Iterator.forEachRemaining(Iterator.java:116)
    42     at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:1801)
    43     at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:512)
    44     at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:502)
    45     at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
    46     at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
    47     at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
    48     at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:418)
    49     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.lambda$execute$3(HierarchicalTestExecutor.java:92)
    50     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor$$Lambda$133/1144648478.execute(Unknown Source)
    51     at org.junit.platform.engine.support.hierarchical.SingleTestExecutor.executeSafely(SingleTestExecutor.java:66)
    52     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:77)
    53     at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:51)
    54     at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:43)
    55     at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:170)
    56     at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:154)
    57     at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
    58     at org.eclipse.jdt.internal.junit5.runner.JUnit5TestReference.run(JUnit5TestReference.java:86)
    59     at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
    60     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:538)
    61     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:760)
    62     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:460)
    63     at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:206)
    64     Suppressed: org.hibernate.TransactionException: Transaction was marked for rollback only; cannot commit
    65         at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:228)
    66         at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:68)
    67         at pw.fengya.test.TestHibernate.destory(TestHibernate.java:48)
    68         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    69         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    70         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    71         at java.lang.reflect.Method.invoke(Method.java:483)
    72         at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:389)
    73         at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:115)
    74         at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.invokeMethodInExtensionContext(ClassTestDescriptor.java:289)
    75         at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.lambda$synthesizeAfterEachMethodAdapter$12(ClassTestDescriptor.java:281)
    76         at org.junit.jupiter.engine.descriptor.ClassTestDescriptor$$Lambda$156/644166178.invokeAfterEachMethod(Unknown Source)
    77         at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$null$9(TestMethodTestDescriptor.java:208)
    78         at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor$$Lambda$205/1991386317.execute(Unknown Source)
    79         at org.junit.jupiter.engine.execution.ThrowableCollector.execute(ThrowableCollector.java:40)
    80         at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeAllAfterMethodsOrCallbacks$13(TestMethodTestDescriptor.java:226)
    81         at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor$$Lambda$203/1393112209.accept(Unknown Source)
    82         at java.util.ArrayList.forEach(ArrayList.java:1234)
    83         at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAllAfterMethodsOrCallbacks(TestMethodTestDescriptor.java:224)
    84         at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeAfterEachMethods(TestMethodTestDescriptor.java:207)
    85         at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:114)
    86         ... 48 more

    学习Hibernate的命名查询时突然抛出异常,最后检查是由于自己太粗心了,query节点应该放在class节点外,与之同级

     1 <?xml version="1.0"?>
     2 <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
     3 "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
     4 
     5 <hibernate-mapping package="pw.fengya.bean">
     6 
     7     <class name="Employee" table="t_EMPLOYEE">
     8 
     9         <id name="id" type="java.lang.Integer">
    10             <column name="ID" />
    11             <generator class="native" />
    12         </id>
    13 
    14         <property name="name" type="java.lang.String">
    15             <column name="NAME" />
    16         </property>
    17 
    18         <property name="salary" type="float">
    19             <column name="SALARY" />
    20         </property>
    21 
    22         <property name="email" type="java.lang.String">
    23             <column name="EMAIL" />
    24         </property>
    25 
    26         <many-to-one name="dept" class="Deptartment" fetch="select">
    27             <column name="DEPT_ID" />
    28         </many-to-one>
    29     
    30         <query name="salaryEmps"><![CDATA[FROM Employee e WHERE e.salary > :minSal AND e.salary < :maxSal]]></query>
    31     </class>
    32 
    33 </hibernate-mapping>

    将query标签拿出来,与class同级即可

  • 相关阅读:
    [USACO17FEB]Why Did the Cow Cross the Road III S
    [POI2015]PIE
    GSS3
    Bzoj3203: [Sdoi2013]保护出题人 凸包 + 三分
    斜率优化
    fread优化读入
    [USACO09JAN]安全出行Safe Travel 最短路,并查集
    zookeeper单机模式实现分布式,开发部署测试模式机器有限情况
    解决 jmeter An error occurred: Error while processing samples:Mismatch
    python 垃圾回收解析
  • 原文地址:https://www.cnblogs.com/lxc-2017/p/8553565.html
Copyright © 2011-2022 走看看