based on hibernate entity