我收到以下异常:
org.springframework.orm.hibernate3.HibernateSystemException: Named query not known:
Run Code Online (Sandbox Code Playgroud)
实体类标题:
@Entity
@NamedNativeQuery( callable = true, name = "_Foo_SP", query = "call _Foo()", readOnly = true, resultClass = Foo.class )
public class Foo {
//...properties omitted for brevity
}
Run Code Online (Sandbox Code Playgroud)
在hibernate.cfg.xml中:
<mapping
class="com.company.test.Foo" />
Run Code Online (Sandbox Code Playgroud)
在测试类中:
private static HibernateTemplate HIBERNATE_TEMPLATE;
public static void main( final String[] args ) {
HIBERNATE_TEMPLATE =
new HibernateTemplate( new AnnotationConfiguration().addAnnotatedClass( Foo.class ).configure().buildSessionFactory() );
new HibernateTest().test();
}
public void test() {
List findByNamedQuery = HIBERNATE_TEMPLATE.findByNamedQuery( "_Foo_SP" );
for( Object object : findByNamedQuery ) {
System.out.println( object );
System.out.println( object.getClass().getName() );
}
}
Run Code Online (Sandbox Code Playgroud)
我没有注释工作(例如:使用映射文件中的映射)但是简单地使用JPA注释来声明映射似乎更直观 - 但我似乎无法让它工作.
我在这做错了什么?我正在努力做甚么可能吗?看来我不是唯一一个遇到这个的人,请看:这里.
我正在使用hibernate 3.5.6-FINAL FWIW.
TIA
问题是我使用了错误的@Entity类.我用的时候:
org.hibernate.annotations.Entity
Run Code Online (Sandbox Code Playgroud)
我会得到上面的问题.但是,一旦我切换到:
javax.persistence.Entity
Run Code Online (Sandbox Code Playgroud)
有用!
| 归档时间: |
|
| 查看次数: |
7993 次 |
| 最近记录: |