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 <[email protected]>: > 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 <[email protected]> > >> 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 <[email protected]> >> >> > SUPPORTS is fine then >> > >> > >> > 2013/10/30 José Luis Cetina <[email protected]> >> > >> >> 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* > -------------------------------------------------------------------
