...
Hibernate
...
Component
...
The
...
hibernate:
...
component
...
allows
...
you
...
to
...
work
...
with
...
databases
...
using
...
Hibernate
...
as
...
the
...
object
...
relational
...
mapping
...
technology
...
to
...
map
...
POJOs
...
to
...
database
...
tables.
...
The
...
camel-hibernate
...
library
...
is
...
provided
...
by
...
the
...
...
...
project
...
which
...
hosts
...
all
...
*GPL
...
related
...
components
...
for
...
Camel.
Info |
---|
} Note that Camel also ships with a []component. The []component abstracts from the underlying persistence provider and allows you to work with Hibernate, OpenJPA or EclipseLink. |
Sending to the endpoint
Sending POJOs to the hibernate endpoint inserts entities into the database. The body of the message is assumed to be an entity bean that you have mapped to a relational table using the hibernate .hbm.xml
files.
If the body does not contain an entity bean, use a Message Translator in front of the endpoint to perform the necessary conversion first.
Consuming from the endpoint
Consuming messages removes (or updates) entities in the database. This allows you to use a database table as a logical queue; consumers take messages from the queue and then delete/update them to logically remove them from the queue.
If you do not wish to delete the entity when it has been processed, you can specify consumeDelete=false
on the URI. This will result in the entity being processed each poll.
If you would rather perform some update on the entity to mark it as processed (such as to exclude it from a future query) then you can annotate a method with @Consumed which will be invoked on your entity bean when the entity bean is consumed.
URI format
Code Block |
---|
{info} h3. Sending to the endpoint Sending POJOs to the hibernate endpoint inserts entities into the database. The body of the message is assumed to be an entity bean that you have mapped to a relational table using the hibernate {{.hbm.xml}} files. If the body does not contain an entity bean, use a [Message Translator] in front of the endpoint to perform the necessary conversion first. h3. Consuming from the endpoint Consuming messages removes (or updates) entities in the database. This allows you to use a database table as a logical queue; consumers take messages from the queue and then delete/update them to logically remove them from the queue. If you do not wish to delete the entity when it has been processed, you can specify {{consumeDelete=false}} on the URI. This will result in the entity being processed each poll. If you would rather perform some update on the entity to mark it as processed (such as to exclude it from a future query) then you can annotate a method with [@Consumed|http://activemq.apache.org/camel/maven/camel-hibernate/apidocs/org/apache/camel/component/hibernate/Consumed.html] which will be invoked on your entity bean when the entity bean is consumed. h3. URI format {code} hibernate:[entityClassName][?options] {code} |
For
...
sending
...
to
...
the
...
endpoint,
...
the
...
entityClassName
...
is
...
optional.
...
If
...
specified
...
it
...
is
...
used
...
to
...
help
...
use
...
the type conversion to ensure the body is of the correct type.
For consuming the entityClassName is mandatory.
You can append query options to the URI in the following format, ?option=value&option=value&...
...
Options
Div | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||||
|
Include Page | ||||
---|---|---|---|---|
|