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*
> -------------------------------------------------------------------

Reply via email to