Social Icons

twitterfacebookgoogle pluslinkedinrss feed

Tuesday, October 25, 2011

Google Cloud SQL, Hibernate JPA Support

With my last post about Google Cloud SQL(Google App Engine) with Spring Hibernate, many people had encountered the same issue about HIbenrate JPA. If you are developing Hibernate JPA based applications,there is some issues with Hibernate JPA support which you need to be awared.

When you are running the application you may get an error like this:

java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getValidationMode()Ljavax/persistence/ValidationMode;

This is because Hibernate used JPA 2.0 specification. But Google App Engine only support JPA 1.0 specification. I also got the same issue, and therefore I used Spring Hibernate support (instead of Hibernate JPA).

"The App Engine Java SDK includes an implementation of JPA 1.0 for the App Engine datastore"
Google App Engine JPA : http://code.google.com/appengine/docs/java/datastore/jpa/


Love to hear from you! feedback(comments) are always welcome

Monday, October 17, 2011

Google Cloud SQL with Struts, Spring and Hibernate

With Google App engine SDK 1.5.5, Google have introduced Google Cloud SQL for GAE (Currently we can't connect any other external application with Google Cloud SQL. This can be only with Google App Engine Apps).

It's faster than connecting with Amazon RDS and other Cloud based Data solutions. No need to worry about load balancing as well. Cloud SQL supports 5 QPS read/write rate, so as long as you don't go over that, you can use cloud SQL. If you are going over this read/write rate limit, datastore might become a much more effective approach to you.If you are storing large blobs data(images, attchments and sound files, it's better storing them in the datastore or blobstore.

When Google App Engine became populer in late 2009 many people asked about Hibernate support. But with their datasore people were unable to develop Hibernate support applications with GAE. But with Google Cloud SQL developers can use Hibernate supported applications as well.
 

Wednesday, October 12, 2011

Sample Application with Google Cloud SQL

Three months ago I was able to participate in one of the Google App Engine based task management project.  However, in that project, I had to face some critical issues in searching as Google Datastore did not support many search options including LIKE search. It is known that searching is one of the essential parts of the enterprise applications.


However, Google introduced Cloud SQL last week and they approved my "Google Cloud SQL" request today (they took 5 days to approve it.:D ). Once they approved, I decided to develop a sample application with Cloud SQL. Gogole Cloud SQL database engine is MySql Version 5.1.59 and database size must be no larger than 10GB. Here I have added option to Test LIKE search. If you need more clarification, feel free to contact me.

Test Application http://securezilla.appspot.com/

PS: Added Source Code
Sample Project : http://code.google.com/p/cloudsql/ 


Added on 2011-10-20:

Some people have issue when developing their application because Google currently doesn't support access Google Cloud SQL from outside Google App Engine. there for your local development you need to test with local DataBase(EX: Mysql). After that you when code release to Google App engine it's work fine.

For you local development no need to change the connection URLs.Just need to pass the VM arguments . I think you are using Eclipse IDE.


Go to Run --> Run Configurations
Add the following lines into the your project VM Arguments section.


-Drdbms.server=local
-Drdbms.driver=com.mysql.jdbc.Driver
-Drdbms.url=jdbc:mysql://localhost:3306/database?user=dbuser&password=dbpass


After that add MySql JDBC driver in to your App Engine SDK/lib/impl folder. Then create DataBase and tables for according to requirement.