2017-05-19 69 views
1

我得到這個錯誤:選擇從selectOneMenu用於一個值,並試圖後javax.ejb.EJBException異常:javax.persistence.PersistenceException:org.hibernate.exception.DataException:無法執行語句

Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Incorrect integer value: 'ANTIQUES Value 1' for column 'category' at row 1 

將實體保存到數據庫中;所述selectOneMenu用於填充有SelectItemGroup:

private List<SelectItem> options = new ArrayList<SelectItem>(); 

    public CategoryBean() 
    { 
     SelectItemGroup group1 = new SelectItemGroup("ANTIQUES"); 
     group1.setSelectItems(new SelectItem[] { 
      new SelectItem("ANTIQUES Value 1", "European Antiques"), 
      new SelectItem("ANTIQUES Value 1", "Asian Antiques"), 
      new SelectItem("ANTIQUES Value 2", "Furniture"), 
      new SelectItem("ANTIQUES Value 3", "Books and Manuscripts"), 
      new SelectItem("ANTIQUES Value 3", "Architecture") 
     }); 
     options.add(group1); 

     SelectItemGroup group2 = new SelectItemGroup("ART"); 
     group2.setSelectItems(new SelectItem[] { 
      new SelectItem("ART Value 1", "PAINTINGS"), 
      new SelectItem("ART Value 4", "HANDMADE ART"), 
      new SelectItem("ART Value 5", "PHOTOS") 
     }); 
     options.add(group2); 

..

並且所選擇的值被存儲爲在所述實體表

任何想法字符串? 在此先感謝!

+0

'ANTIQUES值1'不是'整數'值。好像表格列有'int'類型。 – gooamoko

回答

0

看看@Entity bean和表定義(特別是在列category)。 根據你的日誌,似乎category在entity bean中被定義爲String,但在integer的表中。 因此,要麼像varchar那樣定義表格列,要麼定義像int那樣的bean中的字段category,以及菜單項的正確類。

相關問題