Сначала вы должны решить, когда считаете два экземпляра MyObject равными с точки зрения их свойств, а затем выполнить запрос.
Например, допустим, у вас есть объект Country с идентификатором, именем и валютой. Две страны можно считать равными, если они имеют одинаковое название. Но если у вас есть сущность Person, это может быть сочетание их имени, имени, даты рождения и места рождения, что делает их функционально равными.
Чтобы продолжить работу с примером моей страны, вот как выполнить запрос:
String hql = "select Country c where c.name = :theName";
Query q = session.createQuery(hql);
q.setString("theName", theCountryIWantToSave.getName());
Country c = query.uniqueResult();
if (c != null) {
// a country with the same name as theCountryIWantToSave already exists
}
Это довольно простые вещи, правда. Вам следует прочитать Руководство пользователя Hibernate .