Ich erhalte Fehler erhalten:HibernateException: Kann nicht transaktions synchronisiert Session für aktuellen Thread
Exception in thread "main" org.hibernate.HibernateException:
Could not obtain transaction-synchronized Session for current thread
Haupt
ppService.deleteProductPart(cPartId, productId);
@Service ("productPartService")
@Override
public void deleteProductPart(int cPartId, int productId) {
productPartDao.deleteProductPart(cPartId, productId);
}
@Repository ("productPartDAO")
@Override
public void deleteProductPart(ProductPart productPart) {
sessionFactory.getCurrentSession().delete(productPart);
}
@Override
public void deleteProductPart(int cPartId, int productId) {
ProductPart productPart = (ProductPart) sessionFactory.getCurrentSession()
.createCriteria("ProductPart")
.add(Restrictions.eq("part", cPartId))
.add(Restrictions.eq("product", productId)).uniqueResult();
deleteProductPart(productPart);
}
Wie es zu beheben?
UPDATE:
Wenn ich Methode wie folgt ändern:
@Override
@Transactional
public void deleteProductPart(int cPartId, int productId) {
System.out.println(sessionFactory.getCurrentSession());
}
Es gibt:
SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=[] updates=[] deletions=[] collectionCreations=[] collectionRemovals=[] collectionUpdates=[] collectionQueuedOps=[] unresolvedInsertDependencies=UnresolvedEntityInsertActions[]])
Aber wenn ich @Transactional
entfernen endet mit Ausnahme up:
org.hibernate.HibernateException: Could not obtain transaction-synchronized Session for current thread
Ich bekomme es funktioniert durch Hinzufügen @Transactional
, aber jetzt bekomme ich org.hibernate.MappingException: Unknown entity: ProductPart
obwohl ich .uniqueResult()
zu Criteria
verkettet bin. Wie man es repariert?
Versuch beginnen, die Transaktion mit 'session.getTransaction() beginnen (.),' Und sehen, ob das hilft? Auch die 'createCriteria' Methode gibt das' CriteriaImpl' zurück, so dass Sie nicht direkt in 'ProductPart' umgewandelt werden können. – Chaitanya
@Chaitanya, Wenn ich das nicht so tun kann, was ist die einfachste Lösung? –
RCola, ich bin nicht klar auf Ihren Kommentar, können Sie es ausarbeiten? – Chaitanya