I am trying to add 'Unique' constraint to my entity column name.
Example code here:
@Preload
@Table("user")
public interface TestEntity extends Entity {
@NotNull
@AutoIncrement
@PrimaryKey(value = "ID")
int getID();
@Accessor("user_key")
String getUserKey();
@Unique
@Mutator("user_key")
void setUserKey(String user_key);
}
Whenever I try to use this in My DAO layer
like
TestEntity userEntity = activeObjects.create(TestEntity.class);
userEntity.set("XYZ");
userEntity.save();
It gives me SQL exception on the first line that
user_key cannot be null. It tries to insert an entry before even I set the value and call save. If I remove @unique tag it works fine. But then how to enforce unique constraint on the column. Is there any other way that I am missing here that can solve my purpose or do I need to call a get first to see if name is unique. Your input is well appreciated. Thanks
Unique fields usually can't be null. To insert NOT_NULL fields using the Active Objects library you should use the 'create()' method with a parameter list, for example:
TestEntity userEntity = activeObjects.create(TestEntity.class,
new DBParam("USER_KEY", "XYZ"));
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.