-
-
Notifications
You must be signed in to change notification settings - Fork 270
Closed
Description
Expected behavior
Generated code should be datetimeoffset or at least datetime for SQL Server
Actual behavior
Currently, it generates nvarchar(255) for that column.
Steps to reproduce
@Entity
@Table(name = "SomeTable", schema = "dbo")
public class SomeModelData extends Model {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ID")
private Integer id;
@Column(name = "Year")
private Integer year;
@Column(name = "Month")
private Integer month;
@Column(name = "Filename", nullable = false, length = 100)
private String filename;
@Column(name = "CreatedDate", nullable = false)
private ZonedDateTime createdDate;
}Generates:
create table [dbo].[SomeTable] (
[ID] integer identity(1,1) not null,
[Year] integer,
[Month] integer,
[Filename] nvarchar(100) not null,
[CreatedDate] nvarchar(255) not null,
constraint [pk_SomeTable] primary key ([ID])
);Workaround
I just add columnDefinition = "datetimeoffset", to @Column
Just a side note: I really prefer to use a datatype that respects timezone for ZonedDateTime as datetimeoffset in SQL server, and just another note LocalDateTime makes it datetime2 for SQL server, which is fine I think.