The error message
Named query not known: my.simple.query
[junit] org.hibernate.MappingException: Named query not known: relationship.delete_by_userId
[junit] at org.hibernate.impl.AbstractSessionImpl.getNamedQuery(AbstractSessionImpl.java:93)
[junit] at org.hibernate.impl.SessionImpl.getNamedQuery(SessionImpl.java:1287)
The context
You are using a named query in your application. Named queries are externalized and are coded in the hibernate mapping files rather than the application code
Possible reason(s) for this error
1) The name of the query in the hibernate file doesnt match with what you have in the code. Both should match exactly
2) You have defined the query inside the class definition. A hibernate mapping file can have multiple class definitions (not a recomended or much practised approach though). A named query must exist outside the class definition.
Example(s)
<query name=”my.simple.query”>delete from Users as user where user.id =?</query
Session session = sessionFactory.openSession();
Query query = session.getNamedQuery(“my.simple.query”);
query.setInteger(0,userId);
session.beginTransaction();
query.executeUpdate ();
session.getTransaction().commit();
Did this solve your problem ?
Please let me know. Thanks !!!

Recent Comments