I'm using JPA, Hibernate and Postgres. I'd like the code to be as solution neutral as possible, where JPA is a given. My simplified entity looks like this:
@Entity
@Table(name = "example")
public class ExampleEntity {
@Id
@GeneratedValue
private UUID id;
private String businessId; //format is YYYY000001 where YYYY = current year. Current assumption: number is incrementing and reset every year, number is always filled up with leading 0 to make the key 10 digits
}
I always have a generated UUID as the primary key. The business-id shall only be set if a certain state has been reached and is therefore unrelated to when the entity has been created. I would like the database to take care of the incrementing number.
Preferably I'd like to solve this through JPA, but also see a "dirtier" solution where I fetch the sequence-id and generate the business-key in my logic.