JPA Einführung: Entity Klassen

Nachdem im ersten Teil der JPA Einführung die Infrastruktur für die Arbeit mit JPA fertig gestellt wurde, kommen wir nun zu den Entitätsklassen. Bei den Entities handelt es sich um ganz normale Java Klassen (POJOs), die kein spezielles Interface implementieren oder von einer vorgegebenen Oberklasse erben müssen. Lediglich ein default Konstruktor muss vorhanden sein.
Dank JPA Annotationen kann man erkennen, dass die Objekte persistiert werden.
Möchte man EJB3 konform arbeiten, so sollten die Annotationen dort angebracht werden, wo auf die Properties zugegriffen wird: An den Attributen für field-access, an den Getter-Methoden bei property-access. Dies sollte konsistent gemacht werden, und die beiden Formen sollten nicht gemischt werden. (Zwischen den beiden Formen wird über die Position der @Id Annotation unterschieden.)
Die Annotation der Attribute hat dabei den Vorteil, dass schnell erkennbar ist, was wie persistiert wird – kann jedoch bei einigen JPA Providern zu Performance Problemen führen. Auf der anderen Seite führen Getter-Methoden, die nicht zu persistierende Werte liefern und nicht explizit von der Persistierung ausgenommen werden zu möglicherweise schwer zu findenden Programmfehlern. weiterlesen

 

Spring Integration 2:RC1

Von der Firma SpringSource wurde jetzt „Spring Integration 2“ als Release Candidate 1 veröffentlicht. Spring Integration ist eine auf dem Spring Framework aufbauendes Framework das Enterprise Application Integration und die EAI Patterns von Hohpe und Woolf umsetzt. Dabei unterstützt Spring Integration Messaging innerhalb von Spring Anwendungen und ermöglicht so einen modularen und lose gekoppelten Aufbau der Anwendung, externe Systeme können jedoch deklarativ zusätzlich angebunden werden.

Spring Integration 2 bringt bereits Adapter für die Anbindung von verschiedenen Systemen wie Messaging (JMS, XMPP), FTP, Mail, Webservices und auch spezielle Dienste wie Twitter mit. Neu ist in der Version 2 von Spring Integration dass die Spring Expression Language verwendet werden kann, und in der Eclipse basierten Spring Source Toolsuite (STS) ein grafischer Editor für die Modellierung der  Spring Integration Realisierung vorhanden ist. weiterlesen

 

JPA Tutorial: JPA Einrichtung

JPA, die Java Persistence API bietet im Vergleich zu JDBC ein erhöhtes Abstraktionsniveau und ermöglicht damit in kurzer Zeit Anwendungen zu entwickeln, in denen Daten dauerhaft gespeichert werden müssen.
Zum Hintergrund von JPA: Bei dem Umgang mit Datenbanken gibt es schon sehr lange JDBC (Java Database connectivity) als einheitliche API um die Verbindung zu Datenbanken herzustellen. Auch hier handelt es sich bereits um eine einheitliche Schnittstelle, jedoch wird darüber lediglich festgelegt, wie Verbindungen aufgebaut werden, wie eine Abfrage eingeleitet wird und wie Transaktionen manuell gesteuert werden können.
Damit bleiben zwei Probleme: Der SQL Code muss von Hand erstellt werden, was gerade bei CRUD (Create, Update, Delete) Anwendungen viel Produktivität kostet, und zudem ist der SQL Code in der Regel herstellerabhängig. Ein Wechsel von Oracle zu Postgres bedeutet damit das Programm an vielen Stellen ändern zu müssen. Auch sind händisch erstellte Abfragen nicht immer optimal: Lazy loading von Entitäten, Caching Strategien und Transaktionssteuerung können sehr aufwendig werden. Dazu gesellen sich der relativ hohe Wartungsaufwand und die Gefahr von Fehlern die erst zur Laufzeit entdeckt werden. weiterlesen

 

JUG Münster Stammtisch: 27.10. im Cuba Nova!

Der naechste Java Stammtisch findet am 27.10. im Cuba Nova in Münster ab 18:30 Uhr statt. Eingeladen sind wie immer alle an Java, Softwareentwicklung und Projektmanagement interessierten Personen.

Für Teilnehmer am Java Stammtisch gibt es einen Sonderpreis für Weizen bzw. alkoholfreies Weizen, zudem gibt es auch Aktionsangbote bei Speisen. (Mittwoch ist Steaktag)

Das Cuba Nova befindets ich in der Achtermannstrasse in der Nähe vom Hauptbahnhof. (3 Minuten zu Fuß, wenn man langsam geht.).
Parkmöglichkeiten und Anfahrt zum Java Usergroup Münster Treff: Parkhaus Engelenschanze ist am nächsten gelegen. Ansonsten empfehlen wir die Anreise mit dem Rad oder öffentlichen Verkehrsmitteln – insbesondere für Weizen-Fans. (Google Maps Link)

 

Versioning and signing jar files in Netbeans

Hi again,

these days i’ve got the problem that i need to add a version number to the SteelSeries java component library and to be honest i had no idea how to realize it.

So after a short internet research i figured out that there is the ability to add version information to the manifest file that’s included in a jar file.

If you do not know what a manifest is or how it is embedded in the jar file you will find a detailled description here.

Now that i knew where to put the version information the question was how to get Netbeans adding this information automaticaly to the manifest file during the build process. Well Netbeans is using Ant under the hood to build your projects and because i knew ant build scripts from using the Hudson Continues Integration server it was easy to achieve this.

First of all you have to locate the build.xml file in your Netbeans projects folder. Simply open it in Netbeans itself and you will see something like this… weiterlesen

 

Software Freedom Day 2010: Review

Münster hat auch 2010 wieder am Software Freedom Day teilgenommen: Die Java Usergroup Münster (JUG) hat in Kooperation mit der Warpzone Münster und der Google Technology Usergroup einen kompletten Tag mit Vorträgen, Diskussionen und Gewinnspielen rund um freie Software veranstaltet.

Unser besonderes Dankeschön gilt dabei den Sponsoren, die es möglich gemacht haben, sowohl Preise für die Gewinnspiele als auch die Versorgung mit Speisen und Getränken zu ermöglichen:

  • OV Software aus Münster
    Seit über 35 Jahren bietet das Unternehmen OVSOFTWARE Know-How im Bereich der kundenspezifischen Softwareentwicklung. Die Dienstleistung beginnt bei der projektbezogenen Beratung, führt über die Erstellung des Anforderungskataloges und anschließender Implementierung, bis hin zum Testen und der anschließenden Übergabe an den Kunden.
    Ein Großteil der Projekte wird mit modernsten Javatechnologien umgesetzt.
  • Titan Networks aus Frankfurt
    Titan Networks ist ein Full-Service Internet Service Provider und bietet IPv4 und IPv6 Lösungen rund um Access, DSL, Housing, Hosting, Domains und VPN an. Titan Networks bietet darüber hinaus Beratungs- und Entwicklungsleistungen sowie Reseller Lösungen an.
  • Buchspenden: O’Reilly, APress

weiterlesen

 

SteelSeries update

Hi there,

this is just to inform you that there is a updated version of the Java Swing component library „SteelSeries“ available.

I added 10 more components…

There are radial bargraphs which you could see below

ishot-4.png

 

In addition to these i added another version of the Radial2 component which is called Radial2Top

ishot-6.pngThe last component i added is called RadialCounter. I saw this kind of component during a visit of a german u-boat

where it was used to visualize the depth of the boat.

ishot-7.png

 

In addition to the new components there a some more modifications like colored tickmarks etc.

ishot-5.png

 

For more info please go to http://www.harmonic-code.org

 

Follow me on twitter if you like…

 

Google veröffentlicht vier Tools für Java Entwickler

Am heutigen Tag hat Google auf dem Google Code Blog die Veröffentlichung von vier ehemals kostenpflichtigen Tools der Firma Instantiation, die vor einiger Zeit von Google übernommen wurde, bekannt gegeben.

Darunter finden sich ein GWT Designer, ein Static Analysis Tool, ein Swing-SWT-… Designer und ein GUI-Testing Tool.

Den Download gibt es hier.

Nachtrag: Die Komponenten sind Plugins für Eclipse , daher wird eine Eclipse-Installation für die Benutzung benötigt.