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/
