You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by gav <ga...@hotmail.com> on 2007/11/28 17:06:26 UTC

Hooray - this works ! - Re: OpenJPA MySQL Environment: NamedQuery always returns null for @Enumerated column types

Dah ! thankyou ...the following works 
(for the record i assumed Eager loading was  default for Enum since
one-to-one mapping?!)

    @Column( name = "Gender" )
    @Basic( fetch = FetchType.EAGER )
    @Enumerated( EnumType.STRING )
    private Gender            gender           = Gender.UNSPECIFIED;

-----------------------





Patrick Linskey-2 wrote:
> 
> Hi,
> 
> Are you using the OpenJPA enhancer? What happens if you explicitly set
> the fetch mode to eager in the @Enumerated annotation?
> 
> -Patrick
> 
> On 11/28/07, gav <ga...@hotmail.com> wrote:
>>
>> Hello, i have a WebsphereCE application environment (OpenEJB/OpenJPA
>> 1.0.0/MySQL 5.0.27 with JDBC driver 3.1.14).
>> When running a NamedQuery on the Entity Bean i find the returned object
>> is
>> fully populated as expected EXCEPT for the Enum(erated) type which always
>> came back null (in error).
>>
>> @Entity
>> @Table( name = "Client" )
>> @NamedQueries( {
>> ...
>>         @NamedQuery( name = "Client.getClientCasenoteDataByEmpiId", query
>> =
>> "select c from Client c JOIN FETCH c.assets where c.epmiId = :epmiId" ),
>> ...
>> public class Client implements Serializable {
>> ...
>>     @Column( name = "Gender" )
>>     @Enumerated( EnumType.STRING )
>>     private Gender            gender           = Gender.UNSPECIFIED;
>>
>> // This gender field in the Client object graph always comes back null
>> despite the database having a column definition consistent with storing
>> the
>> enum values as strings in database.
>>
>> Gender varchar(255) NULL     (a column definition confirmed by
>> autogeneration by openjpa using synchronizemappings property)...
>>
>> Enum class is
>>
>> public enum Gender {
>>
>>     MALE, FEMALE, UNSPECIFIED;
>>
>>
>> For the record also tried the default ordinal approach, also the MySQL
>> 3.1.12,3.1.14 and 5.0.4 JDBC Drivers but always get nothing back but
>> null.
>> Has anyone seen this problem or could point me in the right direction ???
>> thanks for your help !
>>
>>
>> --
>> View this message in context:
>> http://www.nabble.com/OpenJPA-MySQL-Environment%3A-NamedQuery-always-returns-null-for-%40Enumerated-column-types-tf4887323.html#a13988839
>> Sent from the OpenJPA Developers mailing list archive at Nabble.com.
>>
>>
> 
> 
> -- 
> Patrick Linskey
> 202 669 5907
> 
> 
:-D:-D
-- 
View this message in context: http://www.nabble.com/OpenJPA-MySQL-Environment%3A-NamedQuery-always-returns-null-for-%40Enumerated-column-types-tf4887323.html#a13995534
Sent from the OpenJPA Developers mailing list archive at Nabble.com.


Re: Hooray - this works ! - Re: OpenJPA MySQL Environment: NamedQuery always returns null for @Enumerated column types

Posted by pl...@gmail.com.
Great. FTR I agree that it should be eager by default. I thought we
fixed this recently.

-Patrick

On 11/28/07, gav <ga...@hotmail.com> wrote:
>
> Dah ! thankyou ...the following works
> (for the record i assumed Eager loading was  default for Enum since
> one-to-one mapping?!)
>
>     @Column( name = "Gender" )
>     @Basic( fetch = FetchType.EAGER )
>     @Enumerated( EnumType.STRING )
>     private Gender            gender           = Gender.UNSPECIFIED;
>
> -----------------------
>
>
>
>
>
> Patrick Linskey-2 wrote:
> >
> > Hi,
> >
> > Are you using the OpenJPA enhancer? What happens if you explicitly set
> > the fetch mode to eager in the @Enumerated annotation?
> >
> > -Patrick
> >
> > On 11/28/07, gav <ga...@hotmail.com> wrote:
> >>
> >> Hello, i have a WebsphereCE application environment (OpenEJB/OpenJPA
> >> 1.0.0/MySQL 5.0.27 with JDBC driver 3.1.14).
> >> When running a NamedQuery on the Entity Bean i find the returned object
> >> is
> >> fully populated as expected EXCEPT for the Enum(erated) type which always
> >> came back null (in error).
> >>
> >> @Entity
> >> @Table( name = "Client" )
> >> @NamedQueries( {
> >> ...
> >>         @NamedQuery( name = "Client.getClientCasenoteDataByEmpiId", query
> >> =
> >> "select c from Client c JOIN FETCH c.assets where c.epmiId = :epmiId" ),
> >> ...
> >> public class Client implements Serializable {
> >> ...
> >>     @Column( name = "Gender" )
> >>     @Enumerated( EnumType.STRING )
> >>     private Gender            gender           = Gender.UNSPECIFIED;
> >>
> >> // This gender field in the Client object graph always comes back null
> >> despite the database having a column definition consistent with storing
> >> the
> >> enum values as strings in database.
> >>
> >> Gender varchar(255) NULL     (a column definition confirmed by
> >> autogeneration by openjpa using synchronizemappings property)...
> >>
> >> Enum class is
> >>
> >> public enum Gender {
> >>
> >>     MALE, FEMALE, UNSPECIFIED;
> >>
> >>
> >> For the record also tried the default ordinal approach, also the MySQL
> >> 3.1.12,3.1.14 and 5.0.4 JDBC Drivers but always get nothing back but
> >> null.
> >> Has anyone seen this problem or could point me in the right direction ???
> >> thanks for your help !
> >>
> >>
> >> --
> >> View this message in context:
> >>
> http://www.nabble.com/OpenJPA-MySQL-Environment%3A-NamedQuery-always-returns-null-for-%40Enumerated-column-types-tf4887323.html#a13988839
> >> Sent from the OpenJPA Developers mailing list archive at Nabble.com.
> >>
> >>
> >
> >
> > --
> > Patrick Linskey
> > 202 669 5907
> >
> >
> :-D:-D
> --
> View this message in context:
> http://www.nabble.com/OpenJPA-MySQL-Environment%3A-NamedQuery-always-returns-null-for-%40Enumerated-column-types-tf4887323.html#a13995534
> Sent from the OpenJPA Developers mailing list archive at Nabble.com.
>
>


-- 
Patrick Linskey
202 669 5907