У меня есть сценарий, где есть столбец БД, который должен быть похож на последовательность для каждого первичного ключа + другой столбец.Значение столбца должно снова сброситься и начать с 1 для другого.
Например:
col1 (PK) ------ col2 (FK) ------- my-колонна
0 --------------- 0 ------------------- 1
1 --------------- 0 ------------------- 2
2 --------------- 0 ------------------- 3
3 --------------- 1 ------------------- 1
4 --------------- 1 ------------------- 2
5 --------------- 1 ------------------- 3
Для col1 (PK) я могу просто аннотировать с помощью @GeneratedValue(strategy = GenerationType.IDENTITY)
Таким же образом, я хочу сгенерировать значение для my-column .
Со стороны кода это выглядит так:
classA{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private String col2;
@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL, mappedBy = "classa", orphanRemoval = true)
private List<ClassB> listB = new ArrayList<>();
//I want to generate/increment the value of myCol each time based on value of col1 & col2
@Column(name = "my-col")
private Integer myCol;
//getter/setters
}
ClassB{
@Id
@Column(name = "col1")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer col1;
@ManyToOne
@JoinColumn(name = "col2")
private ClassA classa;
//getter/setter
}