Well you are not using parameterized types but lets assume your array list is an ArrayList<Product>. You need to override toString on your Product object. What you are seeing is the default implementation of toString() on the Object class. See the
java doc
http://docs.oracle.com/javase/6/docs/api/java/lang/Object.html#toString%28%29
The toString method for class Object returns a string consisting of the name of the class of which the object is an instance, the at-sign character `@', and the unsigned hexadecimal representation of the hash code of the object. In other words, this method returns a string equal to the value of:
getClass().getName() + '@' + Integer.toHexString(hashCode())
This is not really an ORM issue so I am going to move this to the beginning java forum where you can get further assistance with this if you need it.