[
https://issues.apache.org/activemq/browse/CAMEL-2980?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=60839#action_60839
]
Christian Mueller commented on CAMEL-2980:
------------------------------------------
I modified in my workspace the
[JpaTest.java|http://svn.apache.org/viewvc/camel/trunk/components/camel-jpa/src/test/java/org/apache/camel/component/jpa/JpaTest.java?view=markup].
old:
{code}
template.send(endpoint, new Processor() {
public void process(Exchange exchange) {
exchange.getIn().setBody(new SendEmail("[email protected]"));
}
});
{code}
new:
{code}
Exchange returnedExchange = template.send(endpoint, new Processor() {
public void process(Exchange exchange) {
exchange.getIn().setBody(new SendEmail("[email protected]"));
}
});
SendEmail sendEmail = returnedExchange.getIn().getBody(SendEmail.class);
assertEquals("address property", "[email protected]",
sendEmail.getAddress());
assertNotNull("id property should set", sendEmail.getId());
{code}
This fails with:
{code}
java.lang.AssertionError: id property should set
at org.junit.Assert.fail(Assert.java:91)
...
{code}
After switching from EntityManager.merge(entity) to
EntityManager.persist(entity), the test succeed.
Because of this and
[CAMEL-2982|https://issues.apache.org/activemq/browse/CAMEL-2982], my question
is: "Should we in general switch from EntityManager.merge(entity) to
EntityManager.persist(entity)?" Is there a reason to use
EntityManager.merge(entity)?
Christian
> camel-jpa doesn't use EntityManager.merge(entity) in the right way
> ------------------------------------------------------------------
>
> Key: CAMEL-2980
> URL: https://issues.apache.org/activemq/browse/CAMEL-2980
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-jpa
> Affects Versions: 2.4.0
> Environment: All
> Reporter: Christian Mueller
> Assignee: Christian Mueller
> Fix For: 2.5.0
>
>
> The EntityManager.merge(entity) method returns the merged entity. The
> exchange in message body should be updated with the merged entity (what
> camel-jpa currently not do).
> I running into this problem, because after saving an entity in the database,
> the id field was still null. So, we don't know, which entity in the database
> is the corresponding to this entity... :-(
> Have a look in the process method of
> [JpaProducer|http://svn.apache.org/viewvc/camel/trunk/components/camel-jpa/src/main/java/org/apache/camel/component/jpa/JpaProducer.java?view=markup]
> and the Java doc from the
> [EntityManager|http://download.oracle.com/docs/cd/E17477_01/javaee/5/api/javax/persistence/EntityManager.html#merge%28T%29].
> Christian
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.