cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From gelo1234 <gelo1...@gmail.com>
Subject Re: URLResponse from Restcontroller with Hibernate circular relationships
Date Wed, 05 Mar 2014 08:05:08 GMT
Anyway I'm curious if you keep your Hibernate session _open_ between two
HTTP Requests (second is calling String-template servlet? until View is
completely rendered) ?
Do you use open-session-in-view pattern or any other ? Conversations
spanning several request-response cycles ?
https://community.jboss.org/wiki/OpenSessionInView

Greetings,
Greg


2014-03-05 4:52 GMT+01:00 Yahoo <hansheinrichbraun@yahoo.de>:

>  Thanks Greg,That's the idea as long as I don't save the bean there is no
> problem
> with the database. And such methods I already use with Lazy loading
> between two requests.
>
> Am 04.03.2014 23:47, schrieb gelo1234:
>
>
> Another kind of "hack" (if you cannot modify entity sources and they are
> not external .xml files) would be setting all child objects' parent
> references to null _before_ serializing that data.
>
> Lets say you got: Author and Book entites with One-To-Many relationship.
>
>  You retrieve the entities from db and _before_ URLResponse, you modify
>  all Books entities with null reference to parent(Author) entity:
>
>
>   List<Author> authors = hibernateDAO.getAllAuthors();
>
>  // make sure hibernate session is closed and authors objects are
> _detached_
>  // with full data structure -> FetchType.EAGER
>
>  for (Author author: authors) {
>        List<Book> books = author.getBooks();
>        for (Book book: books)
>              book.setAuthor(null);
> }
>
>  Now you can safely call URLResponse with authors (they don't contain any
> circular references anymore).
>
>  Greetings,
> Greg
>
>
>
> 2014-03-04 23:00 GMT+01:00 gelo1234 <gelo1234@gmail.com>:
>
>>  Hi
>>
>> Can you debug where exactly a problem with circular references exists ?
>>  Is it during serialization of your data ? StringTemplate? IOUtils?
>>
>>  Many serialization techniques/libs do have problems with such
>> references, be it JAXB or GSON. For JAXB you can setup @Transient
>> annotation.
>>
>>  How about a quick fix, that removes one side of relationship in
>> Hibernate entities making it uni-directional instead of bi-directional e.g.
>> reverse side ?
>>
>>  Greetings,
>> Greg
>>
>>
>>
>> 2014-03-04 22:29 GMT+01:00 Yahoo <hansheinrichbraun@yahoo.de>:
>>
>> I am using Hibernate 4.1.8-Final and cocoon 3.0.0-beta-1-SNAPSHOT.
>>> But why you ask?
>>> Am 03.03.2014 08:09, schrieb Francesco Chicchiriccò:
>>>
>>>  On 03/03/2014 04:36, Yahoo wrote:
>>>>
>>>>> I  am using cocoon RestController to present my Hibernate Mysql data
>>>>> in pdf files.
>>>>> The Hibernate structure has cirular relationships, so when I give the
>>>>> structure to the URLResponse there are endless StringBuilder calls.Do
you
>>>>> have an idea how to solve this problem.One idea would be to present the
>>>>> data in an non Hibernate bean without cicular relationships. But may
be
>>>>> there is an opportunity to avoid new beans.
>>>>>
>>>>
>>>> Hi,
>>>> such problems arise every time JPA (or other persistence frameworks)
>>>> entities are published (via REST in your case) without any transformation
>>>> (the DTO pattern): I am afraid there is any cleaner solution than
>>>> converting your Hibernate entities into something simpler.
>>>>
>>>> BTW: which version are you using?
>>>>
>>>> Regards.
>>>>
>>>>
>>>
>>>   ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@cocoon.apache.org
>>> For additional commands, e-mail: users-help@cocoon.apache.org
>>>
>>>
>>
>
>

Mime
View raw message