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"));
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.