I am trying to use Hibernate to auto increment the id, however, I try to avoid duplication.
class Service
{
Long id; // auto increment
String name;
String owner;
Boolean incremental;
// setter and getter
}
What I want to achieve is, whenever the new service object I want to save has the same name and owner(no matter if the data field incremental are the same or not) as any of the existing one in the database, it will be a duplicated entry. In this case, I don't want to add another entry into the Database anymore. How to revise the hbm.xml files to avoid this issue?
If you need the id column, you can keep it. What you need is * a unique constraint at the database level on both columns.
(if you use hbmtoddl tool, you may need something like that :
<properties name="key" unique="true">
<property name="name" .../>
<property name="owner" .../>
</properties>
)
This way, you can not insert duplicates data.
After that if you don't want your code to break when you try to insert duplicates, you need to