February 01, 2011
Mark Wielaard: New GPG key.
Finally created a new GPG key using gnupg. The old one was a DSA/1024 bits one and 8 years old. The new one is a RSA/2048 bits one. I will use the new one in the future to sign any release tarballs I might create. pub 2048R/57816A6A 2011-01-29 Key f...
More »
February 01, 2011
Andrew Hughes: [SECURITY] IcedTea6 1.7.8, 1.8.5, 1.9.5 Released!.
We are pleased to announce a new set of security releases, IcedTea6 1.7.8, IcedTea6 1.8.5 and IcedTea6 1.9.5.
This update contains the following security updates:
The IcedTea project provides a harness to build the source code from OpenJDK6 u...
More »
December/2024
Sun | Mon | Tue | Wed | Thu | Fri | Sat |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 | | | | |
|
|
Triggers Done The JPA Way
JPA comes with a way of doing triggers, which is pretty cool: EntityListeners. It is a simple POJO that is annotated as EntityListener, and that gets linked to the triggering event by some outside glue. That outside glue can be an XML deployment descriptor (has nothing to do with the EJB 2.1 XML deployment descriptor; is nothing else but an override to the annotations found in the Java source itself) and gives the JPA engine some additional customization "from outside the application source". The cool thing is that the JPA engine fires instances of that "outside defined" listeners, and that class can do whatever it likes to do: Accessing the entity, or even fire exceptions. The nice thing is that JPA guarantees that if there is any exception fired in such a listener, then the transaction gets rolled back.
public final class SampleBusinessProcess {
@PrePersist
private void sampleMethod(final Car car) {
car.setNumberOfWheels(4);
}
}
Cool! So finally adding a third party trigger without touching the code is as easy as: Add a short piece of XML glue, write a POJO, handle your business rule in that POJO, and your're done! Isn't that exactly like a database trigger? :-)
BTW, since the original entity's code is not touched at all, there is now finally a real separation of entity and process. So in fact, this ...
Date: January, 03 2010
Url: http://www.java.net/blog/mkarg/archive/2010/01/03/triggers-done-jpa-way
Others News
|