You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@openjpa.apache.org by is_maximum <mn...@gmail.com> on 2008/10/15 13:01:31 UTC
OpenJPA warnings
Hello
when I run my program, OpenJPA warn me following messages:
OpenJPA cannot map field
"com.foo.core.gl.entity.GeneralEntry.authorizedThirdParties" efficiently.
It is of an unsupported type. The field value will be serialized to a BLOB
by default.
and
openjpa.Enhance - The field generalEntry in type
com.foo.core.gl.entity.Account is configured to be lazily loaded, but lazy
loading is not available for classes that use fieldaccess when not running
the OpenJPA enhancer or when dynamic class redefinition is not available.
can you tell me what these mean and what I have to do if they have something
to do with performance
thanks
--
View this message in context: http://n2.nabble.com/OpenJPA-warnings-tp1336430p1336430.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
Re: OpenJPA warnings
Posted by ljubad <lj...@gmail.com>.
Check if you set mappedBy = "..." in
@OneToMany(targetEntity = ....class, cascade = CascadeType.ALL, fetch =
FetchType.LAZY, mappedBy = "...")
is_maximum wrote:
>
> Hello
>
> when I run my program, OpenJPA warn me following messages:
>
> OpenJPA cannot map field
> "com.foo.core.gl.entity.GeneralEntry.authorizedThirdParties" efficiently.
> It is of an unsupported type. The field value will be serialized to a BLOB
> by default.
>
> and
>
>
> openjpa.Enhance - The field generalEntry in type
> com.foo.core.gl.entity.Account is configured to be lazily loaded, but lazy
> loading is not available for classes that use fieldaccess when not running
> the OpenJPA enhancer or when dynamic class redefinition is not available.
>
> can you tell me what these mean and what I have to do if they have
> something to do with performance
>
> thanks
>
--
View this message in context: http://n2.nabble.com/OpenJPA-warnings-tp1336430p1344491.html
Sent from the OpenJPA Users mailing list archive at Nabble.com.
Re: OpenJPA warnings
Posted by Simone Gianni <si...@apache.org>.
Hi,
OpenJPA (and any other JPA implementation, and any other ORM more or
less) is able to map efficiently a certain number of types. For example
all primitive types, Strings, Dates etc... Efficiently means that the
proper type (NUMBER, VARCHAR, DATE etc..) is used on the database, so
that no conversion needs to be performed when loading, saving or
performing a query on the database, because both OpenJPA and the
database will use the proper types. Anyway, when a type which is not one
of the supported types is used (for example a class of yours) is
encountered, and no relationship or mapping strategy has been specified
to handle it, OpenJPA will have no way to deal with it except creating a
BLOB column on the database, and store your class there using
serialization.
This is inefficient, since serialization is slow, it uses a lot of space
(also because it will serialize the entire object graph), has to load
the entire object to read even a single field.
I suppose authorizedThisParties is probably a List or a Set of
something. In that case you should have a look at the various
@ManyToMany, @OneToMany and @OneToOne annotations that will tell OpenJPA
how to persist that list in the proper way.
Hope this helps,
Simone
is_maximum wrote:
> Hello
>
> when I run my program, OpenJPA warn me following messages:
>
> OpenJPA cannot map field
> "com.foo.core.gl.entity.GeneralEntry.authorizedThirdParties" efficiently.
> It is of an unsupported type. The field value will be serialized to a BLOB
> by default.
>
> and
>
>
> openjpa.Enhance - The field generalEntry in type
> com.foo.core.gl.entity.Account is configured to be lazily loaded, but lazy
> loading is not available for classes that use fieldaccess when not running
> the OpenJPA enhancer or when dynamic class redefinition is not available.
>
> can you tell me what these mean and what I have to do if they have something
> to do with performance
>
> thanks
>
--
Simone Gianni CEO Semeru s.r.l. Apache Committer
MALE human being programming a computer http://www.simonegianni.it/