Question: I have an entity called Task and it has taskId field. Problem is I need to create/update some specific tasks and JPA autogenerator doesn't allow me to set taskId manually.(It overrides my taskId) 

Is there any way to set taskId manually?

```
@Id
@Column(name = "task_id")
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "org.hibernate.id.UUIDGenerator")
private String taskId;

```

Answer: 
@GeneratedValue annotation doesn't allow the user to set the value manually.Instead of using that annotation you can manually generate some string format like below and mark the taskId column with @Id

```
String hql = "from MasterCount where itemType=:type";
Query<MasterCount> query = session.createQuery(hql);
query.setParameter("type", "task");
MasterCount count = query.uniqueResult();
int lastId = count.getItemId() + 1;
count.setItemId(lastId);
task.setTaskId("task0"+lastId);

```

That is create a master table with columns itemId and itemType.Save "task" and 0 in the columns respectively.Check the last entered value ,increment one and save again.
[This link](https://stackoverflow.com/questions/18182826/set-id-pk-generation-value-auto-and-manual)
may help you.

I would apply a basic solution if I understood your problem correctly.

```
@Column(name = "task_id", unique = true, nullable = false)
private String taskId;

```