#java #spring #spring-boot #hibernate #h2
Вопрос:
Мне не нравится порядок столбцов в базе данных h2. Я использую аудит для создания таблиц.
Пример кода
package ru.omega.vaccination.model.dto.audit;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.Column;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import java.io.Serializable;
import java.time.Instant;
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
@JsonIgnoreProperties(
value = {"createdAt", "updatedAt"},
allowGetters = true
)
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public abstract class DateAudit implements Serializable {
@CreatedDate
@Column(nullable = true, updatable = false)
private Instant createdAt;
@LastModifiedDate
@Column(nullable = true)
private Instant updatedAt;
}
И
@Entity(name = "people")
@Getter
@Setter
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class People extends DateAudit {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private Long id;
@Column
private String lastname;
@Column
private String firstname;
@Column
private String patronymic;
...
}
Я хотел бы переместить столбцы «CREATED_AT» «UPDATED_AT» в конец таблицы. Я не могу найти способ реализовать это. Я был бы рад увидеть примеры кода для решения такой проблемы.
Комментарии:
1. Как вы создали эту таблицу?
2. Как вы думаете, почему важен порядок столбцов?
3. Вы никогда не должны полагаться на порядок столбцов в таблице. Если вам нужен конкретный заказ, выберите его при выполнении запросов. Чего вы действительно хотите здесь достичь?
4. @GauravJeswani По hibernate
5. @SimonMartinelli требует, чтобы вы проверили базу данных вручную (много раз). Эти столбцы не представляют большой ценности при просмотре базы данных, но они мешают. В реальном проекте у меня есть около 10 колонок, которые следует удалить в конце, для более удобной работы.