У меня есть этот родительский класс, использующий стратегия наследования одной таблицы в Hibernate 5:
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
public abstract class Flag {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private Long id;
public Flag() {}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
}
И два дочерних класса, которые расширяются Flag
:
@Entity
@DiscriminatorValue("dmg")
public class DamageFlag extends Flag {
private float percentage
public DamageFlag() {}
public float getPercentage() {
return this.pergentace;
}
public void setPercentage(float percentage) {
this.percentage = percentage;
}
}
+
@Entity
@DiscriminatorValue("prg")
public class ProgressFlag extends Flag {
private float percentage
public ProgressFlag() {}
public float getPercentage() {
return this.pergentace;
}
public void setPercentage(float percentage) {
this.percentage = percentage;
}
}
Как заставить Hibernate автоматически префиксировать percent
столбцы с соответствующими @DiscriminatorValue
без добавления префиксов вручную?
- Класс
DamageFlag
будет генерировать столбец dmg_percentage
- Класс
ProgressFlag
будет генерировать столбец prg_percentage
.
Есть ли способ сделать это, используя Hibernate's NamingStrategy ?