Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
Deleted user
0 / 0 points
Next:
badges earned

Your Points Tracker
Challenges
Leaderboard
  • Global
  • Feed

Badge for your thoughts?

You're enrolled in our new beta rewards program. Join our group to get the inside scoop and share your feedback.

Join group
Recognition
Give the gift of kudos
You have 0 kudos available to give
Who do you want to recognize?
Why do you want to recognize them?
Kudos
Great job appreciating your peers!
Check back soon to give more kudos.

Past Kudos Given
No kudos given
You haven't given any kudos yet. Share the love above and you'll see it here.

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Active Objects with @Unique constraint in entity fields Edited

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

 

1 answer

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"));

Suggest an answer

Log in or Sign up to answer
TAGS

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you