Я получил эту ошибку. CreateCriteria недействителен без активной транзакции в
Struts 2.3.15, Spring 3.2.4 и Hibernate 4.2.5 Final
Пожалуйста. , см. подробные сведения об ошибках следующим образом:
Struts Problem Report
Struts has detected an unhanded exception:
Messages: createCriteria is not valid without active transaction
File: org/hibernate/context/internal/ThreadLocalSessionContext.java
Line number: 348
Трассы стека:
org.hibernate.HibernateException: c r e a t e C r i t e r i a i s n o t v a l i d w i t h o u t a c t i v e t r a n s a c t i o n < b r / > o r g . h i b e r n a t e . c o n t e x t . i n t e r n a l . T h r e a d L o c a l S e s s i o n C o n t e x t $ T r a n s a c t i o n P r o t e c t i o n W r a p p e r . i n v o k e ( T h r e a d L o c a l S e s s i o n C o n t e x t . j a v a : 3 4 8 ) < b r / > $ P r o x y 3 5 . c r e a t e C r i t e r i a ( U n k n o w n S o u r c e ) < b r / > o r g . z e n i t h . d a o . i m p l . A n s w e r D A O I m p l . l i s t A l l ( A n s w e r D A O I m p l . j a v a : 8 7 ) < b r / > o r g . z e n i t h . s e r v i c e . a f t . i m p l . A f t A n s w e r S e r v i c e I m p l . l i s t ( A f t A n s w e r S e r v i c e I m p l . j a v a : 3 5 ) < b r / > s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e 0 ( N a t i v e M e t h o d ) < b r / > s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e ( N a t i v e M e t h o d A c c e s s o r I m p l . j a v a : 5 7 ) < b r / > s u n . r e f l e c t . D e l e g a t i n g M e t h o d A c c e s s o r I m p l . i n v o k e ( D e l e g a t i n g M e t h o d A c c e s s o r I m p l . j a v a : 4 3 ) < b r / > j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( M e t h o d . j a v a : 6 0 1 ) < b r / > o r g . s p r i n g f r a m e w o r k . a o p . s u p p o r t . A o p U t i l s . i n v o k e J o i n p o i n t U s i n g R e f l e c t i o n ( A o p U t i l s . j a v a : 3 1 7 ) < b r / > o r g . s p r i n g f r a m e w o r k . a o p . f r a m e w o r k . R e f l e c t i v e M e t h o d I n v o c a t i o n . i n v o k e J o i n p o i n t ( R e f l e c t i v e M e t h o d I n v o c a t i o n . j a v a : 1 8 3 ) < b r / > o r g . s p r i n g f r a m e w o r k . a o p . f r a m e w o r k . R e f l e c t i v e M e t h o d I n v o c a t i o n . p r o c e e d ( R e f l e c t i v e M e t h o d I n v o c a t i o n . j a v a : 1 5 0 ) < b r / > o r g . s p r i n g f r a m e w o r k . t r a n s a c t i o n . i n t e r c e p t o r . T r a n s a c t i o n I n t e r c e p t o r $ 1 . p r o c e e d W i t h I n v o c a t i o n ( T r a n s a c t i o n I n t e r c e p t o r . j a v a : 9 6 ) < b r / > o r g . s p r i n g f r a m e w o r k . t r a n s a c t i o n . i n t e r c e p t o r . T r a n s a c t i o n A s p e c t S u p p o r t . i n v o k e W i t h i n T r a n s a c t i o n ( T r a n s a c t i o n A s p e c t S u p p o r t . j a v a : 2 6 0 ) < b r / > o r g . s p r i n g f r a m e w o r k . t r a n s a c t i o n . i n t e r c e p t o r . T r a n s a c t i o n I n t e r c e p t o r . i n v o k e ( T r a n s a c t i o n I n t e r c e p t o r . j a v a : 9 4 ) < b r / > o r g . s p r i n g f r a m e w o r k . a o p . f r a m e w o r k . R e f l e c t i v e M e t h o d I n v o c a t i o n . p r o c e e d ( R e f l e c t i v e M e t h o d I n v o c a t i o n . j a v a : 1 7 2 ) < b r / > o r g . s p r i n g f r a m e w o r k . a o p . f r a m e w o r k . J d k D y n a m i c A o p P r o x y . i n v o k e ( J d k D y n a m i c A o p P r o x y . j a v a : 2 0 4 ) < b r / > $ P r o x y 2 3 . l i s t ( U n k n o w n S o u r c e ) < b r / > o r g . z e n i t h . a c t i o n . a f t . A f t A n s w e r A c t i o n . l i s t ( A f t A n s w e r A c t i o n . j a v a : 6 0 ) < b r / > s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e 0 ( N a t i v e M e t h o d ) < b r / > s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e ( N a t i v e M e t h o d A c c e s s o r I m p l . j a v a : 5 7 ) < b r / > s u n . r e f l e c t . D e l e g a t i n g M e t h o d A c c e s s o r I m p l . i n v o k e ( D e l e g a t i n g M e t h o d A c c e s s o r I m p l . j a v a : 4 3 ) < b r / > j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( M e t h o d . j a v a : 6 0 1 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e A c t i o n ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 4 5 0 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e A c t i o n O n l y ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 8 9 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 5 2 ) < b r / > o r g . a p a c h e . s t r u t s 2 . i n t e r c e p t o r . d e b u g g i n g . D e b u g g i n g I n t e r c e p t o r . i n t e r c e p t ( D e b u g g i n g I n t e r c e p t o r . j a v a : 2 5 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 4 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . D e f a u l t W o r k f l o w I n t e r c e p t o r . d o I n t e r c e p t ( D e f a u l t W o r k f l o w I n t e r c e p t o r . j a v a : 1 6 7 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . M e t h o d F i l t e r I n t e r c e p t o r . i n t e r c e p t ( M e t h o d F i l t e r I n t e r c e p t o r . j a v a : 9 8 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 4 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . v a l i d a t o r . V a l i d a t i o n I n t e r c e p t o r . d o I n t e r c e p t ( V a l i d a t i o n I n t e r c e p t o r . j a v a : 2 6 5 ) < b r / > o r g . a p a c h e . s t r u t s 2 . i n t e r c e p t o r . v a l i d a t i o n . A n n o t a t i o n V a l i d a t i o n I n t e r c e p t o r . d o I n t e r c e p t ( A n n o t a t i o n V a l i d a t i o n I n t e r c e p t o r . j a v a : 6 8 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . M e t h o d F i l t e r I n t e r c e p t o r . i n t e r c e p t ( M e t h o d F i l t e r I n t e r c e p t o r . j a v a : 9 8 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 4 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . C o n v e r s i o n E r r o r I n t e r c e p t o r . i n t e r c e p t ( C o n v e r s i o n E r r o r I n t e r c e p t o r . j a v a : 1 3 8 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 4 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . P a r a m e t e r s I n t e r c e p t o r . d o I n t e r c e p t ( P a r a m e t e r s I n t e r c e p t o r . j a v a : 2 3 9 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . M e t h o d F i l t e r I n t e r c e p t o r . i n t e r c e p t ( M e t h o d F i l t e r I n t e r c e p t o r . j a v a : 9 8 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 4 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . P a r a m e t e r s I n t e r c e p t o r . d o I n t e r c e p t ( P a r a m e t e r s I n t e r c e p t o r . j a v a : 2 3 9 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 .interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:161)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:563)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
java.lang.Thread.run(Thread.java:722)
applicationContext.xml:
thread
org.hibernate.dialect.MySQL5Dialect
true
true
org.zenith.hibernatereverse.pojo.Question org.zenith.hibernatereverse.pojo.Answer
Слой DAO:
package org.zenith.dao.impl;
@Component
public class AnswerDAOImpl implements IAnswerDAO {
private SessionFactory sessionFactory;
@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public List listAll(String column, String keyWord, int currentPage,
int lineSize) throws Exception {
return this.sessionFactory.getCurrentSession() .createCriteria(Answer.class).add(Restrictions.like (column, "%"+keyWord+"%")).addOrder(Order.desc("retdate")).setFirstResult((currentPage- 1)*lineSize).setMaxResults(lineSize).list();
}
}
}
Сервисный слой:
package org.zenith.service.aft.impl;
@Service
public class AftAnswerServiceImpl implements IAftAnswerService {
private IAnswerDAO answerDAO;
private IQuestionDAO questionDAO;
@Resource(name="questionDAOImpl")
public void setQuestionDAO(IQuestionDAO questionDAO) {
this.questionDAO = questionDAO;
}
@Resource(name="answerDAOImpl")
public void setAnswerDAO(IAnswerDAO answerDAO) {
this.answerDAO = answerDAO;
}
public Map list(String column, String keyWord,
int currentPage, int lineSize) throws Exception {
Map map=new HashMap();
map.put("allAnswers", this.answerDAO.listAll(column, keyWord,currentPage,
lineSize));
map.put("answerCount",this.answerDAO.getAllCount(column, keyWord));
return map;
}
}
}
Сервисный уровень:
package org.zenith.service.fore.impl;
@Service
public class ForeAnswerServiceImpl implements IForeAnswerService {
private IAnswerDAO answerDAO;
private IQuestionDAO questionDAO;
@Resource(name="questionDAOImpl")
public void setQuestionDAO(IQuestionDAO questionDAO) {
this.questionDAO = questionDAO;
}
@Resource(name="answerDAOImpl")
public void setAnswerDAO(IAnswerDAO answerDAO) {
this.answerDAO = answerDAO;
}
public boolean insert(Answer vo) throws Exception {
return this.answerDAO.doCreate(vo) &&this.questionDAO.updateCount(vo.getQuestion().getQid());
}
}
Обратное действие:
package org.zenith.action.aft;
@SuppressWarnings("serial")
@Repository
@Scope(value="prototype")
public class ForeAnswerAction extends ActionSupport {
private IForeAnswerService foreAnswerService;
private Answer answer=new Answer();
@Resource(name="foreAnswerServiceImpl")
public void setForeAnswerService(IForeAnswerService foreAnswerService) {
this.foreAnswerService = foreAnswerService;
}
public Answer getAnswer() {
return answer;
}
public String insert() throws Exception{
...
}
}
Направление действий:
package org.zenith.action.fore;
@SuppressWarnings("serial")
@Repository
@Scope(value="prototype")
public class ForeAnswerAction extends ActionSupport {
private IForeAnswerService foreAnswerService;
private Answer answer=new Answer();
@Resource(name="foreAnswerServiceImpl")
public void setForeAnswerService(IForeAnswerService foreAnswerService) {
this.foreAnswerService = foreAnswerService;
}
public Answer getAnswer() {
return answer;
}
public String insert() throws Exception{
...
}
}
Все интерфейсы:
package org.zenith.idao;
public interface IAnswerDAO extends IDAO {
public List listAll(String column, String keyWord, int currentPage,
int lineSize) throws Exception;
public int getAllCount(String column,String keyWord) throws Exception;
}
public interface IDAO {
public boolean doRemove(K id) throws Exception;
public List findAll(String keyWord) throws Exception;
public List findAll(String keyWord,int currentPage,int lineSize) throws Exception;
}
struts.xml:
/forward.jsp
/jsp/fore/question/question_show.jsp
/jsp/aft/question/question_list.jsp
/jsp/aft/answer/answer_list.jsp
Подробнее здесь: https://stackoverflow.com/questions/202 ... n-struts-2
CreateCriteria недействителен без активной транзакции в Struts 2. ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1732617143
Anonymous
Я получил эту ошибку. CreateCriteria недействителен без активной транзакции в
Struts 2.3.15, Spring 3.2.4 и Hibernate 4.2.5 Final
Пожалуйста. , см. подробные сведения об ошибках следующим образом:
Struts Problem Report
Struts has detected an unhanded exception:
Messages: createCriteria is not valid without active transaction
File: org/hibernate/context/internal/ThreadLocalSessionContext.java
Line number: 348
[b]Трассы стека:[/b]
org.hibernate.HibernateException: c r e a t e C r i t e r i a i s n o t v a l i d w i t h o u t a c t i v e t r a n s a c t i o n < b r / > o r g . h i b e r n a t e . c o n t e x t . i n t e r n a l . T h r e a d L o c a l S e s s i o n C o n t e x t $ T r a n s a c t i o n P r o t e c t i o n W r a p p e r . i n v o k e ( T h r e a d L o c a l S e s s i o n C o n t e x t . j a v a : 3 4 8 ) < b r / > $ P r o x y 3 5 . c r e a t e C r i t e r i a ( U n k n o w n S o u r c e ) < b r / > o r g . z e n i t h . d a o . i m p l . A n s w e r D A O I m p l . l i s t A l l ( A n s w e r D A O I m p l . j a v a : 8 7 ) < b r / > o r g . z e n i t h . s e r v i c e . a f t . i m p l . A f t A n s w e r S e r v i c e I m p l . l i s t ( A f t A n s w e r S e r v i c e I m p l . j a v a : 3 5 ) < b r / > s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e 0 ( N a t i v e M e t h o d ) < b r / > s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e ( N a t i v e M e t h o d A c c e s s o r I m p l . j a v a : 5 7 ) < b r / > s u n . r e f l e c t . D e l e g a t i n g M e t h o d A c c e s s o r I m p l . i n v o k e ( D e l e g a t i n g M e t h o d A c c e s s o r I m p l . j a v a : 4 3 ) < b r / > j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( M e t h o d . j a v a : 6 0 1 ) < b r / > o r g . s p r i n g f r a m e w o r k . a o p . s u p p o r t . A o p U t i l s . i n v o k e J o i n p o i n t U s i n g R e f l e c t i o n ( A o p U t i l s . j a v a : 3 1 7 ) < b r / > o r g . s p r i n g f r a m e w o r k . a o p . f r a m e w o r k . R e f l e c t i v e M e t h o d I n v o c a t i o n . i n v o k e J o i n p o i n t ( R e f l e c t i v e M e t h o d I n v o c a t i o n . j a v a : 1 8 3 ) < b r / > o r g . s p r i n g f r a m e w o r k . a o p . f r a m e w o r k . R e f l e c t i v e M e t h o d I n v o c a t i o n . p r o c e e d ( R e f l e c t i v e M e t h o d I n v o c a t i o n . j a v a : 1 5 0 ) < b r / > o r g . s p r i n g f r a m e w o r k . t r a n s a c t i o n . i n t e r c e p t o r . T r a n s a c t i o n I n t e r c e p t o r $ 1 . p r o c e e d W i t h I n v o c a t i o n ( T r a n s a c t i o n I n t e r c e p t o r . j a v a : 9 6 ) < b r / > o r g . s p r i n g f r a m e w o r k . t r a n s a c t i o n . i n t e r c e p t o r . T r a n s a c t i o n A s p e c t S u p p o r t . i n v o k e W i t h i n T r a n s a c t i o n ( T r a n s a c t i o n A s p e c t S u p p o r t . j a v a : 2 6 0 ) < b r / > o r g . s p r i n g f r a m e w o r k . t r a n s a c t i o n . i n t e r c e p t o r . T r a n s a c t i o n I n t e r c e p t o r . i n v o k e ( T r a n s a c t i o n I n t e r c e p t o r . j a v a : 9 4 ) < b r / > o r g . s p r i n g f r a m e w o r k . a o p . f r a m e w o r k . R e f l e c t i v e M e t h o d I n v o c a t i o n . p r o c e e d ( R e f l e c t i v e M e t h o d I n v o c a t i o n . j a v a : 1 7 2 ) < b r / > o r g . s p r i n g f r a m e w o r k . a o p . f r a m e w o r k . J d k D y n a m i c A o p P r o x y . i n v o k e ( J d k D y n a m i c A o p P r o x y . j a v a : 2 0 4 ) < b r / > $ P r o x y 2 3 . l i s t ( U n k n o w n S o u r c e ) < b r / > o r g . z e n i t h . a c t i o n . a f t . A f t A n s w e r A c t i o n . l i s t ( A f t A n s w e r A c t i o n . j a v a : 6 0 ) < b r / > s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e 0 ( N a t i v e M e t h o d ) < b r / > s u n . r e f l e c t . N a t i v e M e t h o d A c c e s s o r I m p l . i n v o k e ( N a t i v e M e t h o d A c c e s s o r I m p l . j a v a : 5 7 ) < b r / > s u n . r e f l e c t . D e l e g a t i n g M e t h o d A c c e s s o r I m p l . i n v o k e ( D e l e g a t i n g M e t h o d A c c e s s o r I m p l . j a v a : 4 3 ) < b r / > j a v a . l a n g . r e f l e c t . M e t h o d . i n v o k e ( M e t h o d . j a v a : 6 0 1 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e A c t i o n ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 4 5 0 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e A c t i o n O n l y ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 8 9 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 5 2 ) < b r / > o r g . a p a c h e . s t r u t s 2 . i n t e r c e p t o r . d e b u g g i n g . D e b u g g i n g I n t e r c e p t o r . i n t e r c e p t ( D e b u g g i n g I n t e r c e p t o r . j a v a : 2 5 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 4 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . D e f a u l t W o r k f l o w I n t e r c e p t o r . d o I n t e r c e p t ( D e f a u l t W o r k f l o w I n t e r c e p t o r . j a v a : 1 6 7 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . M e t h o d F i l t e r I n t e r c e p t o r . i n t e r c e p t ( M e t h o d F i l t e r I n t e r c e p t o r . j a v a : 9 8 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 4 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . v a l i d a t o r . V a l i d a t i o n I n t e r c e p t o r . d o I n t e r c e p t ( V a l i d a t i o n I n t e r c e p t o r . j a v a : 2 6 5 ) < b r / > o r g . a p a c h e . s t r u t s 2 . i n t e r c e p t o r . v a l i d a t i o n . A n n o t a t i o n V a l i d a t i o n I n t e r c e p t o r . d o I n t e r c e p t ( A n n o t a t i o n V a l i d a t i o n I n t e r c e p t o r . j a v a : 6 8 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . M e t h o d F i l t e r I n t e r c e p t o r . i n t e r c e p t ( M e t h o d F i l t e r I n t e r c e p t o r . j a v a : 9 8 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 4 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . C o n v e r s i o n E r r o r I n t e r c e p t o r . i n t e r c e p t ( C o n v e r s i o n E r r o r I n t e r c e p t o r . j a v a : 1 3 8 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 4 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . P a r a m e t e r s I n t e r c e p t o r . d o I n t e r c e p t ( P a r a m e t e r s I n t e r c e p t o r . j a v a : 2 3 9 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . M e t h o d F i l t e r I n t e r c e p t o r . i n t e r c e p t ( M e t h o d F i l t e r I n t e r c e p t o r . j a v a : 9 8 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . D e f a u l t A c t i o n I n v o c a t i o n . i n v o k e ( D e f a u l t A c t i o n I n v o c a t i o n . j a v a : 2 4 6 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 . i n t e r c e p t o r . P a r a m e t e r s I n t e r c e p t o r . d o I n t e r c e p t ( P a r a m e t e r s I n t e r c e p t o r . j a v a : 2 3 9 ) < b r / > c o m . o p e n s y m p h o n y . x w o r k 2 .interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:161)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:563)
org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
java.lang.Thread.run(Thread.java:722)
[b]applicationContext.xml:[/b]
thread
org.hibernate.dialect.MySQL5Dialect
true
true
org.zenith.hibernatereverse.pojo.Question org.zenith.hibernatereverse.pojo.Answer
[b]Слой DAO:[/b]
package org.zenith.dao.impl;
@Component
public class AnswerDAOImpl implements IAnswerDAO {
private SessionFactory sessionFactory;
@Autowired
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
public List listAll(String column, String keyWord, int currentPage,
int lineSize) throws Exception {
return this.sessionFactory.getCurrentSession() .createCriteria(Answer.class).add(Restrictions.like (column, "%"+keyWord+"%")).addOrder(Order.desc("retdate")).setFirstResult((currentPage- 1)*lineSize).setMaxResults(lineSize).list();
}
}
}
[b]Сервисный слой:[/b]
package org.zenith.service.aft.impl;
@Service
public class AftAnswerServiceImpl implements IAftAnswerService {
private IAnswerDAO answerDAO;
private IQuestionDAO questionDAO;
@Resource(name="questionDAOImpl")
public void setQuestionDAO(IQuestionDAO questionDAO) {
this.questionDAO = questionDAO;
}
@Resource(name="answerDAOImpl")
public void setAnswerDAO(IAnswerDAO answerDAO) {
this.answerDAO = answerDAO;
}
public Map list(String column, String keyWord,
int currentPage, int lineSize) throws Exception {
Map map=new HashMap();
map.put("allAnswers", this.answerDAO.listAll(column, keyWord,currentPage,
lineSize));
map.put("answerCount",this.answerDAO.getAllCount(column, keyWord));
return map;
}
}
}
[b]Сервисный уровень:[/b]
package org.zenith.service.fore.impl;
@Service
public class ForeAnswerServiceImpl implements IForeAnswerService {
private IAnswerDAO answerDAO;
private IQuestionDAO questionDAO;
@Resource(name="questionDAOImpl")
public void setQuestionDAO(IQuestionDAO questionDAO) {
this.questionDAO = questionDAO;
}
@Resource(name="answerDAOImpl")
public void setAnswerDAO(IAnswerDAO answerDAO) {
this.answerDAO = answerDAO;
}
public boolean insert(Answer vo) throws Exception {
return this.answerDAO.doCreate(vo) &&this.questionDAO.updateCount(vo.getQuestion().getQid());
}
}
[b]Обратное действие:[/b]
package org.zenith.action.aft;
@SuppressWarnings("serial")
@Repository
@Scope(value="prototype")
public class ForeAnswerAction extends ActionSupport {
private IForeAnswerService foreAnswerService;
private Answer answer=new Answer();
@Resource(name="foreAnswerServiceImpl")
public void setForeAnswerService(IForeAnswerService foreAnswerService) {
this.foreAnswerService = foreAnswerService;
}
public Answer getAnswer() {
return answer;
}
public String insert() throws Exception{
...
}
}
[b]Направление действий:[/b]
package org.zenith.action.fore;
@SuppressWarnings("serial")
@Repository
@Scope(value="prototype")
public class ForeAnswerAction extends ActionSupport {
private IForeAnswerService foreAnswerService;
private Answer answer=new Answer();
@Resource(name="foreAnswerServiceImpl")
public void setForeAnswerService(IForeAnswerService foreAnswerService) {
this.foreAnswerService = foreAnswerService;
}
public Answer getAnswer() {
return answer;
}
public String insert() throws Exception{
...
}
}
[b]Все интерфейсы:[/b]
package org.zenith.idao;
public interface IAnswerDAO extends IDAO {
public List listAll(String column, String keyWord, int currentPage,
int lineSize) throws Exception;
public int getAllCount(String column,String keyWord) throws Exception;
}
public interface IDAO {
public boolean doRemove(K id) throws Exception;
public List findAll(String keyWord) throws Exception;
public List findAll(String keyWord,int currentPage,int lineSize) throws Exception;
}
[b]struts.xml:[/b]
/forward.jsp
/jsp/fore/question/question_show.jsp
/jsp/aft/question/question_list.jsp
/jsp/aft/answer/answer_list.jsp
Подробнее здесь: [url]https://stackoverflow.com/questions/20296944/createcriteria-is-not-valid-without-active-transaction-in-struts-2[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия