<style>

div.fileinputs { position: relative;}

div.fakefile { position: absolute; top: 0px; left: 0px; z-index: 1;}

input.file { position: relative; text-align: right; -moz-opacity:0 ; filter:alpha(opacity: 0); opacity: 0; z-index: 2;}

</style>

<div class="fileinputs">

<input type="file" class="file" />

<div class="fakefile"> <input /> <button>French</button>

</div>

</div>

Here is the Result:

1) What is the difference between
a) session.save()
b) session.saveOrUpdate()
c) session.persist()

Ans :
a) session.save() : save() does an insert and will fail if the primary key is
already persistent.
b) session.saveOrUpdate() :
saveOrUpdate() does a select first to determine if it
needs to do an insert or an update. Insert data if primary key not exist
otherwise update data.
c) session.persist() : Does the same like session.save().
But session.save() return Serializable object and session.persist() return
void.
session.save() returns the generated identifier (Serializable object) and
session.persist() doesn't.