由於要保持的對象持有一個未持久化的對象導致,
我是MANY TO ONE 的時候,引導的那個ONE對象所有屬性都是NULL,造成這個異常。
解決辦法:配置cascade關鍵字,級聯操作。
我是用的JPA注解和Hibernate的有些不同,
JPA 中定義了四種 CASCADE 類型:
* PERSIST:持久保存擁有方實體時,也會持久保存該實體的所有相關數據。
* MERGE:將分離的實體重新合並到活動的持久性上下文時,也會合並該實體的所有相關數據。
* REMOVE:刪除一個實體時,也會刪除該實體的所有相關數據。
* ALL:以上都適用。
@ManyToOne(cascade={CascadeType.PERSIST,CascadeType.MERGE})
@JoinColumn(name = "teacher_id")
private Teacher teacher;
解決問題。