tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From José Luis Cetina <maxtorz...@gmail.com>
Subject Re: Fetch without transaction
Date Wed, 30 Oct 2013 16:30:04 GMT
Ok


2013/10/30 Romain Manni-Bucau <rmannibucau@gmail.com>

> shouldn't work with BEAN exepted if called from a bean which started a tx
> Romain Manni-Bucau
> Twitter: @rmannibucau
> Blog: http://rmannibucau.wordpress.com/
> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> Github: https://github.com/rmannibucau
>
>
>
> 2013/10/30 José Luis Cetina <maxtorzito@gmail.com>:
> > Is injected @PersistenceContex
> >
> >
> > @Stateless
> > @TransactionAttribute(TransactionAttributeType.REQUIRED)
> > @TransactionManagement(TransactionManagementType.CONTAINER)
> > public class MenusFacade implements MenusFacadeLocal {
> >
> >     @PersistenceContext(unitName =
> > BusinessLayerUtils.KX_GLOBAL_PERSISTENCE_UNIT_NAME)
> >     private EntityManager em;
> > ............
> >
> >
> > 2013/10/30 Romain Manni-Bucau <rmannibucau@gmail.com>
> >
> >> Hi
> >>
> >> is your entity manager created manually or managed?
> >> Romain Manni-Bucau
> >> Twitter: @rmannibucau
> >> Blog: http://rmannibucau.wordpress.com/
> >> LinkedIn: http://fr.linkedin.com/in/rmannibucau
> >> Github: https://github.com/rmannibucau
> >>
> >>
> >>
> >> 2013/10/30 José Luis Cetina <maxtorzito@gmail.com>:
> >> > From http://docs.oracle.com/javaee/6/tutorial/doc/bncij.html
> >> >
> >> > Supports Attribute
> >> >
> >> > If the client is running within a transaction and invokes the
> enterprise
> >> > bean’s method, the method executes within the client’s transaction.
If
> >> the
> >> > client is not associated with a transaction, the container does not
> >> start a
> >> > new transaction before running the method.
> >> >
> >> > Because the transactional behavior of the method may vary, you should
> use
> >> > the Supports attribute with caution.
> >> >
> >> >
> >> > The problem is that im calling my ejb directly from my managedbean
> >> (@named)
> >> > and of course the "client" doesn't have any transaction and the
> behavior
> >> is
> >> > the same, i could not fecth using eager, fetch
> >> > or getFetchPlan().addFetchGroup() any of this work with SUPPORTS.
> >> >
> >> >
> >> > Then as i can see the only way is to use REQUIRED, because i use
> >> stateless,
> >> > but this let me thinking, why this work
> >> > with @TransactionManagement(TransactionManagementType.BEAN)? , with
> Bean
> >> > transaction i don't have to star any transaction for use a fetch
> >> >
> >> >
> >> > 2013/10/30 Jean-Louis MONTEIRO <jeanouii@gmail.com>
> >> >
> >> >> oups, message sent too quickly ...
> >> >>
> >> >> SUPPORTS is usually fine as a default for "finder" methods.
> >> >> As soon as there is no transaction, an entity is detached when
> returned
> >> by
> >> >> the entity manager.
> >> >> Even with SUPPORTS btw
> >> >>
> >> >> When REQUIRED (or any transaction) is used, the entity remains
> attached
> >> and
> >> >> managed my the persistence context till the end of the transaction
by
> >> >> default.
> >> >>
> >> >> For an EPC in a Stateful, it's a bit different.
> >> >> So I'd say you have the desired behavior as per the spec.
> >> >>
> >> >> JLouis
> >> >>
> >> >>
> >> >>
> >> >> 2013/10/30 Jean-Louis MONTEIRO <jeanouii@gmail.com>
> >> >>
> >> >> > SUPPORTS is fine then
> >> >> >
> >> >> >
> >> >> > 2013/10/30 José Luis Cetina <maxtorzito@gmail.com>
> >> >> >
> >> >> >> Sorry if i post here, i posted this some days ago, but in
openjpa
> >> >> mailing
> >> >> >> list somethings you dont get answer's, i hope somebody can
help.
> >> >> >>
> >> >> >>
> >> >> >> Hi, i have a problem, im changing my ejbs from
> >> >> >>
> >> >> >> @TransactionManagement(TransactionManagementType.BEAN)
> >> >> >>
> >> >> >> to
> >> >> >>
> >> >> >> @TransactionAttribute(TransactionAttributeType.REQUIRED)
> >> >> >> @TransactionManagement(TransactionManagementType.CONTAINER)
> >> >> >>
> >> >> >> My ejb methods that only performs read only querys are marked
with
> >> >> >> @TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
> because
> >> >> they
> >> >> >> are read only, this works as expected. But when i try to fetch
> some
> >> >> >> properties from my entity that is marked as LAZY i could never
> >> retrieved
> >> >> >> because is null. If i mark my entity property (list) with
EAGER or
> >> if i
> >> >> >> mark my method with
> >> >> >> @TransactionAttribute(TransactionAttributeType.REQUIRED) all
> works.
> >> >> >>
> >> >> >> So my question is, do i have to use a transaction for read
only
> >> querys
> >> >> >> that
> >> >> >> need any kind of fetch, if yes, Why???
> >> >> >>
> >> >> >
> >> >> >
> >> >> >
> >> >> > --
> >> >> > Jean-Louis
> >> >> >
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Jean-Louis
> >> >>
> >> >
> >> >
> >> >
> >> > --
> >> > -------------------------------------------------------------------
> >> > *SCJA. José Luis Cetina*
> >> > -------------------------------------------------------------------
> >>
> >
> >
> >
> > --
> > -------------------------------------------------------------------
> > *SCJA. José Luis Cetina*
> > -------------------------------------------------------------------
>



-- 
-------------------------------------------------------------------
*SCJA. José Luis Cetina*
-------------------------------------------------------------------

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message