Nested transaction not supported
J'ai l'erreur suivante:nested transaction not suppored
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
DAO:
package project.metier.dao;
import java.util.List;
import org.hibernate.Criteria;
import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.criterion.Expression;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import project.metier.mouse.TypeCarburant;
import project.util.HibernateUtil;
@Repository("iTypeCarburantHome")
public class ITypeCarburantImpl implements ITypeCarburantHome {
/*
private SessionFactory sessionFactory;
@Autowired
public void setSessionFactory(SessionFactory factory){
sessionFactory=factory;
}*/
@Override
public void addTypeCarburant(TypeCarburant tc) {
Session session=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
session.save(tc);
session.getTransaction().commit();
}
@Override
public TypeCarburant getTypeCarburant(int idc) {
Session session=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Criteria crit=session.createCriteria(TypeCarburant.class);
crit.add(Expression.eq("TypeCarburant", idc));
Object o=crit.uniqueResult();
if(o==null)
throw new RuntimeException(" intruvable");
TypeCarburant t=(TypeCarburant) o;
return t;
}
@Override
public List<TypeCarburant> getAlltype() {
Session session=HibernateUtil.getSessionFactory().getCurrentSession();
session.getTransaction().begin();
Query req=session.createQuery("select r from TypeCarburant r");
return (req.list());
}
@Override
public List<TypeCarburant> getTypeBy(String mc) {
Session
session=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query req=session.createQuery("select t from TypeCarburant t where t.libelle like :x");
req.setParameter("x","%"+mc+"%");
return req.list();
}
@Override
public List<TypeCarburant> getTypeByMC(String mc) {
Session
session=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query req=session.createQuery("select t from TypeCarburant t where t.libelle like :x");
req.setParameter("x","%"+mc+"%");
return req.list();
}
@Override
public TypeCarburant getTypeById(int idc) {
Session
session=HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
TypeCarburant t1=(TypeCarburant) session.get(TypeCarburant.class, idc);
return t1;
}
@Override
public void deleteTypeCarburant(TypeCarburant typeCarburant) {
// TODO Auto-generated method stub
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
Transaction transaction = session.beginTransaction();
try {
session.delete(typeCarburant);
transaction.commit();
session.clear();
} catch (Exception e) {
e.printStackTrace();
transaction.rollback();
// TODO: handle exception
}
} |
Bean
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
| package project.beans;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import project.metier.mouse.TypeCarburant;
import project.service.TypeCarburantService;
@Component
@Scope
//@ManagedBean(name="carb")
public class TypeCarburantBean {
private TypeCarburant typeCarburant;
private TypeCarburantService carburantService;
public TypeCarburantBean(){
typeCarburant=new TypeCarburant();
}
public List<TypeCarburant> getAlltype(){
return carburantService.getAlltype();
}
public void addTypeCarburant(){
carburantService.addTypeCarburant(typeCarburant);
}
public TypeCarburant getTypeCarburant() {
return typeCarburant;
}
public void setTypeCarburant(TypeCarburant typeCarburant) {
this.typeCarburant = typeCarburant;
}
@Autowired
public void setCarburantService(TypeCarburantService carburantService) {
this.carburantService = carburantService;
}
} |
le Formulaire
Citation:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<ui:composition template="/Views/Template/common.xhtml">
<ui:define name="Edition">
<h:form id="form">
<p:growl id="msgs" />
<p:panel header="Nouveau">
<h:panelGrid columns="2" id="grid">
<h:outputLabel value="ID : *" for="txt_id" />
<p:inputText id="txt_id" value="#{typeCarburantBean.typeCarburant.idCarburant}"
required="true" />
<h:outputLabel value="Libelle : *" for="txt_lib" />
<p:inputText id="txt_lib" value="#{typeCarburantBean.typeCarburant.libelle}"
required="true" />
<h:outputLabel value="prix : *" for="txt_prix" />
<p:inputText id="txt_prix" required="true"
value="#{typeCarburantBean.typeCarburant.prixLitre}" />
<p:commandButton value="Reset" type="reset" />
<p:commandButton id="btn_add" value="AJOUT"
action="#{typeCarburantBean.addTypeCarburant}" />
</h:panelGrid>
</p:panel>
</h:form>
</ui:define>
<ui:define name="Consultation">
<h:form>
<p:outputPanel>
<h:outputText value="Search:" style="Height:30px"/>
<p:inputText id="globalFilter" onkeyup="carsTable.filter()" style="width:150px" />
</p:outputPanel>
<p:dataTable id="dataTable" var="typeCarburant" value="#{typeCarburantBean.alltype}" sortMode="single" rows="5" paginator="true">
<p:column sortBy="#{typeCarburant.idCarburant}" headerText="ID" >
<h:outputText value="#{typeCarburant.idCarburant}" />
</p:column>
<p:column sortBy="#{typeCarburant.libelle}" headerText="Libelle">
<h:outputText value="#{typeCarburant.libelle}" />
</p:column>
<p:column sortBy="#{typeCarburant.prixLitre}" headerText="prix par litre">
<h:outputText value="#{typeCarburant.prixLitre}" />
</p:column>
</p:dataTable>
</h:form>
</ui:define>
</ui:composition>
</html>
le code de l'erreur:
09:57:07,942 WARNING [javax.enterprise.resource.webcontainer.jsf.application] (http-localhost-127.0.0.1-8080-1) JSF1064 : Impossible de localiser ou de servir une ressource, global.css, depuis la bibliothèque css.
09:57:08,027 INFO [org.hibernate.cfg.Configuration] (http-localhost-127.0.0.1-8080-1) HHH000043: Configuring from resource: /hibernate.cfg.xml
09:57:08,030 INFO [org.hibernate.cfg.Configuration] (http-localhost-127.0.0.1-8080-1) HHH000040: Configuration resource: /hibernate.cfg.xml
09:57:08,132 WARN [org.hibernate.internal.util.xml.DTDEntityResolver] (http-localhost-127.0.0.1-8080-1) HHH000223: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/. Use namespace http://www.hibernate.org/dtd/ instead. Refer to Hibernate 3.6 Migration Guide!
09:57:08,189 INFO [org.hibernate.cfg.Configuration] (http-localhost-127.0.0.1-8080-1) HHH000041: Configured SessionFactory: null
09:57:08,196 INFO [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] (http-localhost-127.0.0.1-8080-1) HHH000402: Using Hibernate built-in connection pool (not for production use!)
09:57:08,200 INFO [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] (http-localhost-127.0.0.1-8080-1) HHH000115: Hibernate connection pool size: 20
09:57:08,204 INFO [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] (http-localhost-127.0.0.1-8080-1) HHH000006: Autocommit mode: false
09:57:08,209 INFO [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] (http-localhost-127.0.0.1-8080-1) HHH000401: using driver [com.microsoft.sqlserver.jdbc.SQLServerDriver] at URL [jdbc:sqlserver://SACKYHARREY-HP\MSSQLSERVER2;DatabaseName=park_auto;SelectMethod=cursor]
09:57:08,215 INFO [org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl] (http-localhost-127.0.0.1-8080-1) HHH000046: Connection properties: {user=sacky, password=****}
09:57:08,320 INFO [org.hibernate.dialect.Dialect] (http-localhost-127.0.0.1-8080-1) HHH000400: Using dialect: org.hibernate.dialect.SQLServerDialect
09:57:08,836 INFO [org.hibernate.engine.transaction.internal.TransactionFactoryInitiator] (http-localhost-127.0.0.1-8080-1) HHH000399: Using default transaction strategy (direct JDBC transactions)
09:57:08,841 INFO [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory] (http-localhost-127.0.0.1-8080-1) HHH000397: Using ASTQueryTranslatorFactory
09:57:10,035 INFO [stdout] (http-localhost-127.0.0.1-8080-1) Hibernate: select typecarbur0_.ID_CARBURANT as ID1_13_, typecarbur0_.LIBELLE as LIBELLE2_13_, typecarbur0_.PRIX_LITRE as PRIX3_13_ from park_auto.dbo.TYPE_CARBURANT typecarbur0_
09:57:10,425 SEVERE [javax.enterprise.resource.webcontainer.jsf.application] (http-localhost-127.0.0.1-8080-1) Error Rendering View[/Views/Carburant/FuelEdit.xhtml]: javax.el.ELException: /Views/Carburant/FuelEdit.xhtml @38,138 value="#{typeCarburantBean.alltype}": org.hibernate.TransactionException: nested transactions not supported
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:114) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:194) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.component.ComponentStateHelper.eval(ComponentStateHelper.java:182) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.component.UIData.getValue(UIData.java:731) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at org.primefaces.component.datatable.DataTable.getValue(DataTable.java:867) [primefaces-3.5.jar:]
at org.primefaces.component.api.UIData.getDataModel(UIData.java:579) [primefaces-3.5.jar:]
at javax.faces.component.UIData.isRowAvailable(UIData.java:343) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at org.primefaces.component.api.UIData.setRowModel(UIData.java:422) [primefaces-3.5.jar:]
at org.primefaces.component.api.UIData.setRowIndex(UIData.java:401) [primefaces-3.5.jar:]
at org.primefaces.component.datatable.DataTableRenderer.encodeTbody(DataTableRenderer.java:683) [primefaces-3.5.jar:]
at org.primefaces.component.datatable.DataTableRenderer.encodeRegularTable(DataTableRenderer.java:234) [primefaces-3.5.jar:]
at org.primefaces.component.datatable.DataTableRenderer.encodeMarkup(DataTableRenderer.java:196) [primefaces-3.5.jar:]
at org.primefaces.component.datatable.DataTableRenderer.encodeEnd(DataTableRenderer.java:82) [primefaces-3.5.jar:]
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:875) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1764) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:59) [primefaces-3.5.jar:]
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:47) [primefaces-3.5.jar:]
at org.primefaces.extensions.component.layout.LayoutPaneRenderer.encodeBegin(LayoutPaneRenderer.java:148) [primefaces-extensions-0.7.1.jar:0.7.1]
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at org.primefaces.renderkit.CoreRenderer.renderChild(CoreRenderer.java:56) [primefaces-3.5.jar:]
at org.primefaces.renderkit.CoreRenderer.renderChildren(CoreRenderer.java:47) [primefaces-3.5.jar:]
at org.primefaces.extensions.component.layout.LayoutPaneRenderer.encodeBegin(LayoutPaneRenderer.java:152) [primefaces-extensions-0.7.1.jar:0.7.1]
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:820) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1755) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.render.Renderer.encodeChildren(Renderer.java:168) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1757) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1760) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:402) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:131) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594) [jboss-jsf-api_2.1_spec-2.0.0.Final.jar:2.0.0.Final]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161) [jbossweb-7.0.10.Final.jar:]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154) [jboss-as-web-7.1.0.Final.jar:7.1.0.Final]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [jbossweb-7.0.10.Final.jar:]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368) [jbossweb-7.0.10.Final.jar:]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [jbossweb-7.0.10.Final.jar:]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671) [jbossweb-7.0.10.Final.jar:]
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930) [jbossweb-7.0.10.Final.jar:]
at java.lang.Thread.run(Unknown Source) [rt.jar:1.7.0_21]
Caused by: org.hibernate.TransactionException: nested transactions not supported
at org.hibernate.engine.transaction.spi.AbstractTransactionImpl.begin(AbstractTransactionImpl.java:152) [hibernate-core-4.2.2.Final.jar:4.2.2.Final]
at project.metier.dao.ITypeCarburantImpl.getAlltype(ITypeCarburantImpl.java:56) [classes:]
at project.service.TypeCarburantServiceImpl.getAlltype(TypeCarburantServiceImpl.java:39) [classes:]
at project.beans.TypeCarburantBean.getAlltype(TypeCarburantBean.java:25) [classes:]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_21]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_21]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) [rt.jar:1.7.0_21]
at java.lang.reflect.Method.invoke(Unknown Source) [rt.jar:1.7.0_21]
at javax.el.BeanELResolver.getValue(BeanELResolver.java:302) [jboss-el-api_2.2_spec-1.0.0.Final.jar:1.0.0.Final]
at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
at org.apache.el.parser.AstValue.getValue(AstValue.java:169) [jbossweb-7.0.10.Final.jar:]
at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189) [jbossweb-7.0.10.Final.jar:]
at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) [jsf-impl-2.1.5-jbossorg-1.jar:2.1.5-SNAPSHOT]
... 49 more
[/quote]
est que quelqu'un a une idée de ce que c'est??