Re: URLResponse from Restcontroller with Hibernate circular relationships

2014-03-07 Thread gelo1234
Hi,

I think there is no common pattern. It solely depends on your usage
scenario. If you don't need to use a reverse side of  the relationship in
your business logic, I would recommend removing that part.
Mind some of the intricacies though e.g. if you remove the parent reference
field in child and not specify in parent that this column must _not_ be
null, you can get Exception with some persistence providers:
http://stackoverflow.com/questions/12755380/jpa-persisting-a-unidirectional-one-to-many-relationship-fails-with-eclipselin

Speaking from experience, Hibernate is very "tolerant" compared to e.g.
OpenJPA or EclipseLink

Greetings,
Greg


2014-03-07 10:15 GMT+01:00 Yahoo :

>  Hello Greg,
> Your solution works fine.
> With a lot of Lazy Loading and circular relations
> I have the idea to include the decision which relations should be really
> loaded
> and which should be nulled
> in the Dao.Do you know if there is already a professional solution for
> this usage?
>
>
> 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 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 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 :
>
>>  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 :
>>
>> 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-unsubscr...@cocoon.apache.org
>>> For additional commands, e-mail: users-h...@cocoon.apache.org
>>>
>>>
>>
>
>


Re: URLResponse from Restcontroller with Hibernate circular relationships

2014-03-07 Thread Yahoo

Hello Greg,
Your solution works fine.
With a lot of Lazy Loading and circular relations
I have the idea to include the decision which relations should be 
really  loaded

and which should be nulled
in the Dao.Do you know if there is already a professional solution for 
this usage?


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 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 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 >:


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 mailto:hansheinrichbr...@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-unsubscr...@cocoon.apache.org

For additional commands, e-mail: users-h...@cocoon.apache.org








Re: URLResponse from Restcontroller with Hibernate circular relationships

2014-03-05 Thread gelo1234
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 :

>  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 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 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 :
>
>>  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 :
>>
>> 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-unsubscr...@cocoon.apache.org
>>> For additional commands, e-mail: users-h...@cocoon.apache.org
>>>
>>>
>>
>
>


Re: URLResponse from Restcontroller with Hibernate circular relationships

2014-03-04 Thread gelo1234
Yup, Lazy loading will cause problems in this scenario. How about making
Hibernate session readOnly ? :)

http://stackoverflow.com/questions/5800814/is-it-possible-to-detach-hibernate-entity-so-that-changes-to-object-are-not-aut


Greetings,
Greg


2014-03-05 4:52 GMT+01:00 Yahoo :

>  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 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 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 :
>
>>  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 :
>>
>> 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-unsubscr...@cocoon.apache.org
>>> For additional commands, e-mail: users-h...@cocoon.apache.org
>>>
>>>
>>
>
>


Re: URLResponse from Restcontroller with Hibernate circular relationships

2014-03-04 Thread Yahoo
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 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 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 >:


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 mailto:hansheinrichbr...@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-unsubscr...@cocoon.apache.org

For additional commands, e-mail: users-h...@cocoon.apache.org








Re: URLResponse from Restcontroller with Hibernate circular relationships

2014-03-04 Thread 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 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 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 :

> 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 :
>
> 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-unsubscr...@cocoon.apache.org
>> For additional commands, e-mail: users-h...@cocoon.apache.org
>>
>>
>


Re: URLResponse from Restcontroller with Hibernate circular relationships

2014-03-04 Thread gelo1234
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 :

> 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-unsubscr...@cocoon.apache.org
> For additional commands, e-mail: users-h...@cocoon.apache.org
>
>


Re: URLResponse from Restcontroller with Hibernate circular relationships

2014-03-04 Thread Yahoo

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-unsubscr...@cocoon.apache.org
For additional commands, e-mail: users-h...@cocoon.apache.org



Re: URLResponse from Restcontroller with Hibernate circular relationships

2014-03-02 Thread 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.

--
Francesco Chicchiriccò

Tirasa - Open Source Excellence
http://www.tirasa.net/

Involved at The Apache Software Foundation:
member, Syncope PMC chair, Cocoon PMC, Olingo PPMC
http://people.apache.org/~ilgrosso/


-
To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org
For additional commands, e-mail: users-h...@cocoon.apache.org



URLResponse from Restcontroller with Hibernate circular relationships

2014-03-02 Thread Yahoo
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.


-
To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org
For additional commands, e-mail: users-h...@cocoon.apache.org