Software Development & Operating Systems

Notes on Software Development & Operating Systems


Options for spring.jpa.hibernate.ddl-auto

validate: validate the schema, makes no changes to the database. update: update the schema. create: creates the schema, destroying previous data. create-drop: drop the schema when the SessionFactory is closed explicitly, typically when the application is stopped.

Posted in Hibernate, JPA, Spring, SpringBoot | Comments Off

Configure SpringBoot with H2 Database

Prerequisite: Go to and create a new SpringBoot project with Web, H2, and DevTools for dependencies. Import new project into STS (Spring Tools Suite). Additions to Open /src/main/resources/ and add the following lines: # H2 spring.h2.console.enabled=true spring.h2.console.path=/h2 # Datasource spring.datasource.url=jdbc:h2:file:~/test spring.datasource.username=sa spring.datasource.password= spring.datasource.driver-class-name=org.h2.Driver spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.jpa.generate-ddl=true spring.jpa.hibernate.ddl-auto=validate NOTE: If you want your database [...]

Posted in h2, Hibernate, JPA, SpringBoot | Comments Off

JPA: How to use a base class for your entities

In order for to extend a base class from you entities, you must use the annotation @MappedSuperclass on the base class: @MappedSuperclass public abstract class AbstractBaseEntity Then in your entity class extend the class as you usually would: @Entity public class MyConcreteEntity extends AbstractBaseEntity

Posted in JPA | Comments Off

How to resolve LazyInitializationException with SpringMVC using JPA with Hibernate

Follow the below steps if you see the org.hibernate.LazyInitializationException being thrown while trying to render your page. Add a filter to your web.xml file: <filter> <filter-name>SpringOpenEntityManagerInViewFilter</filter-name> <filter-class></filter-class> </filter> <filter-mapping> <filter-name>SpringOpenEntityManagerInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>

Posted in Hibernate, JPA, SpringMVC | Comments Off

Handling Multiple Exceptions in one catch block

Overview Java 1.7 added support to handle more than one Exception in a single catch block. Example: This is a nice feature, and here is an example that demonstrates this and how to extract the name of the Exception class being thrown for logging: package com.petersarazin.exception; import; import org.junit.Test; public class ExceptionHandling_Test { @Test [...]

Posted in Java | Comments Off

Installing Oracle JDK on Ubuntu

You must run these 3 commands: sudo apt-get install python-software-properties sudo add-apt-repository ppa:webupd8team/java sudo apt-get update To install Java 7, run this command: sudo apt-get install oracle-java7-installer To install Java 8, run this command: sudo apt-get install oracle-java8-installer To change the default Java installation, run this command: sudo update-alternatives –config java

Tags: ,

Posted in Java, Language, Linux, Ubuntu | Comments Off

Change default version of java on CentOS

Perform these steps to change the default version of java: Login in or switch user to root: su – Type this command: alternatives –config java If you do not see the version you want listed then you must use the alternatives –install command, so your version of java can be “installed”. List the versions of [...]

Posted in CentOS, Java, Language, Linux, Operating System | Comments Off

Compare BigDecimal to Zero in Java

You really need to use compareTo() instead of equals() for this: equals() yields inconsistent results with decimal values: new BigDecimal( 0 ).equals( BigDecimal.ZERO ); // true new BigDecimal( 0.00 ).equals( BigDecimal.ZERO ); // false As you can see, eqauls() gives unexpected results. compareTo() does this right thing: new BigDecimal( 0 ).compareTo( BigDecimal.ZERO ) == 0; [...]

Posted in Java | Comments Off