Как можно изменить суффикс с _SEQ на $SEQ?
Я создал собственную стратегию именования, добавив суффикс $SEQ, чтобы имя последовательности было $SEQ.
Код: Выделить всё
public class CustomImplicitDatabaseObjectNamingStrategy
implements ImplicitDatabaseObjectNamingStrategy {
public static final String STRATEGY_NAME = "custom";
@Override
public QualifiedName determineSequenceName(
Identifier catalogName,
Identifier shemaName,
Map configValues,
ServiceRegistry serviceRegistry) {
final JdbcEnvironment jdbcEnvironment = serviceRegistry.getService(JdbcEnvironment.class);
String entityName = (String) configValues.get("jpa_entity_name");
String seqName = entityName + "$SEQ";
System.out.println("seqName " + seqName);
return new QualifiedSequenceName(
catalogName, shemaName, jdbcEnvironment.getIdentifierHelper().toIdentifier(seqName, false));
}
@Override
public QualifiedName determineTableName(
Identifier catalogName,
Identifier schemaName,
Map configValues,
ServiceRegistry serviceRegistry) {
return null;
}
}
Код: Выделить всё
spring.jpa.properties.hibernate.id.db_structure_naming_strategyКод: Выделить всё
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "my_entity_seq")
@SequenceGenerator(name = "my_entity_seq", allocationSize = 1)
@Column(name = "id")
Long id;
выберите «MyEntityName$SEQ».nextval
Как я могу запретить добавление кавычек?
или есть лучший способ изменить суффикс?
Подробнее здесь: https://stackoverflow.com/questions/790 ... ibernate-6
Мобильная версия