簡體   English   中英

SQL錯誤:1366不正確的整數值Spring MVC休眠

[英]SQL Error: 1366 Incorrect integer value Spring MVC Hibernate

我在弄清楚為什么在嘗試使用Springs默認存儲庫持久化對象時某些東西無法正常工作時遇到了一些麻煩。 我正在使用休眠作為我的持久層和Spring MVC框架。 我使用JPA而不是休眠映射文件。

我看到的錯誤如下:

WARN : org.hibernate.util.JDBCExceptionReporter - SQL Error: 1366, SQLState: HY000
ERROR: org.hibernate.util.JDBCExceptionReporter - Incorrect integer value: '\xAC\xED\x00\x05sr\x00!com.kwhours.butternut.domain.Type\xCF;\xBF\xEF\x8A\x82\x87\xF1\x02\x00\x0DZ\x00\x06isLeafI\x00\x05levelL\' for column 'type_id' at row 1

我試圖用JPA注釋持久化一個域對象,該代碼的相關部分是:

@Entity
@Table(name = "question")
public class Question implements java.io.Serializable {
    private Type type;

    @Column(name = "type_id")
    public Type getType() {
        return this.type;
    }

    public void setType(Type type) {
        this.type = type;
    }
}

我在question.type_id列上將外鍵約束正確設置為type.id列。 我能夠用代碼正確地表示所有對象,但是當我嘗試使以下存儲庫保留該對象時,出現上述錯誤。

public interface QuestionRepository extends CrudRepository<Question, Long> {
    public List<Question> findByDatasetInstanceId(Long datasetInstanceId);
}

所以要明確。 我可以創建一個新的問題對象,並使用存儲庫從數據庫中檢索類型對象。 我可以將questions.type設置為這個新類型的對象,但是每當我嘗試使用上面的存儲庫保留包含該類型的問題時,都會收到該錯誤。 我在調試器中簽出了類型對象,似乎沒有任何不妥之處。 任何線索或建議都是有幫助的。 這看起來像某種轉義字符序列,但我不確定。

所以我真的很傻。 我缺少適當的注釋,並且沒有取出類型ID插入,而是嘗試以某種方式插入此java對象

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "type_id")
public Type getType() {
    return this.type;
}

上面的代碼解決了這個問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM