2014-10-08 71 views
1

我試圖創建一個表:到LOCALDATE數據庫JPA

@Entity 
@Table(name = "MENU") 
public class Menu {        
    private LocalDate date; 

    @Column(name = "DATE", nullable = false) 
    public LocalDate getDate() { 
     return date; 
    } 
public void setDate(LocalDate date) { 
    this.date = date; 
} 

創建表的生產日期原材料(255)不是空的,我需要它是迄今爲止,我讀了進去,試圖創建一個轉換器:

@Converter(autoApply = true) 
    public class LocalDatePersistenceConverter implements 
      AttributeConverter<java.time.LocalDate, java.sql.Date> { 
     @Override 
     public java.sql.Date convertToDatabaseColumn(LocalDate entityValue) { 
      return java.sql.Date.valueOf(entityValue); 
     } 

     @Override 
     public LocalDate convertToEntityAttribute(java.sql.Date databaseValue) { 
      return databaseValue.toLocalDate(); 
     } 

但沒有什麼變化,我錯過了什麼?

+0

你面臨什麼問題? – Neeraj 2014-10-08 10:31:47

+0

我想日期行代表一個日期值而不是原始 – Monty 2014-10-08 10:38:21

回答

0

使用@Column.columnDefinition定製此列的數據庫類型:

@Column(name = "DATE", columnDefinition="DATE NOT NULL") 
public LocalDate getDate() { 
    return date; 
} 

祝你好運!

+0

這並沒有真正幫助我,我試圖使用localDate作爲日期設置器,並且jpa不能識別它,所以我被迫使用轉換器,因爲我仍然希望DB將該字段標記爲DATE字段 – Monty 2014-10-08 11:30:48