openjpa-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Simone Gianni <simo...@apache.org>
Subject Re: OpenJPA warnings
Date Wed, 15 Oct 2008 13:59:36 GMT
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/


Mime
View raw message