Я создаю колонну посредством JPA так называемый position и скроллировали мою программу, в базе данных создается колонна внутри Двойных кавычек. Мое сомнение: почему делает это?. я показываю им организацию, где - колонна'
@EmbeddedId CompositeSourceFilexIndex pk_source_file_index;
@MapsId("fileid")
@ManyToOne
@JoinColumns (foreignKey = @ForeignKey(name = "fk_sourcefileIndex"),
value = { @JoinColumn(name = "fileid", referencedColumnName = "id")})
private SourceFile sourcefile_index;
@Column(name = "position")
private Long position;
}' В postgresql это оказывается так:
Если я меняю имя колонны position в другой, уже не появляются двойные кавычки.
Страховка - глупость, но если кто-то может объяснять ее мне, он ему был бы благодарен за это.
Есть правило mnemotécnica в inglés для использования кавычек в SQL:
S пах quotes пахал for S trings; D ouble quotes пахал for D связывали identifiers
он переводится как: Простые кавычки для Strings, двойные кавычки для идентификаторов базы данных.
Следовательно двойные кавычки используются, чтобы выражать, что которое estÃ: между ними это идентификатор, хотя он не выполнит estÃ: ndar:
Например, podr¦-хозяева создавать таблицу, имя которой имело mayúsculas:
create table "MiTabla" ( ... )
По умолчанию, SQL не отличается между mayúsculas и minúsculas, но с двойными кавычками сообщают, что имя - буквально "MiTabla" и не "mitabla".
Или también, если ты используешь как имя таблицы слово, у которого в PostgreSQL есть другие использования, también pondrÃ: между кавычками, чтобы предотвращать проблемы:
select * from "COUNT" where ... --No estamos usando la función count
В твоем случае, estÃ: s создавая поле с идентификатором "position"
, который состоит también имя funci¦n , asà - в том, что Hibernate лечит себе в здоровье entrecomillÃ: ndola.