hibernate

Grails: LazyInitializationException – Lösungsmöglichkeiten

Die Kombination von Hibernate und kom­ple­xen Datenstrukturen bringt einige Herausforderungen mit­sich und daher ist dem ein oder ande­ren die Exception aus dem Titel sicher geläu­fig. In eini­gen Fällen hat man an sol­chen Punkten eine fast fer­tige Anwendung und es geht an die Implementierung von Jobs oder neuen Anforderungen. Nun las­sen sich diese meist nicht, oder sehr schwer, mit den vor­han­de­nen…

Hibernate: Sprünge beim Autoincrement

So ein SequenceGenerator ist schon eine feine Sache, vor­al­lem bei der Verwendung von Relationalen Datenbanksystemen á la Oracle. Musste man sich ohne die Vorzüge des ORM (Object-Relational-Mapping) noch mit der hän­di­schen Erstellung von Sequenzen zur Incrementierung von Werten her­um­schla­gen, erle­digt Hibernate das Ganze voll auto­ma­tisch mit zwei Zeilen Code. Die Tücken der Technik In mei­nem letz­ten Projekt zeigte sich jedoch ein…

PSQLException: operator does not exist

 Nach dem Neuaufsetzen einer bestehen­den Grails-Anwendung, tauchte nach­fol­gen­der Fehler wäh­rend der Ansprache der Datenbank durch die Applikation auf: Caused by: org.postgresql.util.PSQLException: ERROR: ope­ra­tor does not exist: big­int ~~ big­int at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:437) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:353) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:257) at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:92) … 2 more Zunächst ver­mu­tete ich ein JDBC Treiber-Problem, jedoch konnte der Fehler nach etwas Recherche und Debugging…

Andromda Sequence per Table

Standardmäßig gene­riert die Hibernate Andromda Cartridge die Mappingdateien so, dass eine Sequenz für alle Tabellen genutzt wird. Eine Umstellung auf eine Sequenz für jede Tabelle ist dabei sehr ein­fach mög­lich. In der andromda.xml muss die Hibernate Cartridge ein­fach wie folgt angepaßt wer­den: <name­space name="hibernate"> <pro­per­ties> … <pro­perty name="defaultHibernateGeneratorClass">sequence</property> <pro­perty name="sequenceIdentifierSuffix">_seq</property> … </properties> </namespace> Der finale Sequzenzname ergibt sich dabei aus…