我的JPA/Hibernate的奧德賽繼續...休眠/ JPA:無法設置反射二傳手字段值
我試圖解決this issue,所以我有我的類定義基本@Ids使用3個實體字段作爲組合鍵。這似乎讓我遠一點,但持續的時候,現在我得到這樣的:
javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: could not set a field value by reflection setter of com.example.model.LanguageSkill.stafferId
這裏是我的複合類:
public class LanguageSkill implements Serializable
{
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
@Column(name = "Staffer_ID")
private Long stafferId;
@Id
@ManyToOne(cascade = CascadeType.ALL)
@MapsId(value = "stafferId")
private Staffer staffer;
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
@Column(name = "Language_ID")
private Long languageId;
@ManyToOne
@MapsId(value= "languageId")
private Language language;
@Id
@GeneratedValue (strategy = GenerationType.IDENTITY)
@Column(name = "Language_Proficiency_ID")
private Long languageProficiencyId;
@ManyToOne
@MapsId(value= "languageProficiencyId")
private LanguageProficiency languageProficiency;
}
我有適當的getter和setter(IDE生成)既適用於基元也適用於實體。
這是我的庫。我不完全相信,我用一組兼容的持久庫(以一本食譜參考,詳細說明如何正確地混合和匹配這些將非常感激。)
- 的Hibernate 3.5.6-SNAPSHOT
- 休眠-jpamodelgen 1.1.0.CR1
- 冬眠驗證器3.1.0.GA
- 的MySQL 5.1.6
- JSR250-API 1.0
- javax.validation驗證-API 1.0.0.GA
哇,這很令人沮喪。現在3天全職試圖解決這樣的各種問題,只是基本的ORM。我感覺有缺陷。 :-(
看看http://stackoverflow.com/questions/2001007/2039553#2039553 – 2011-02-12 06:08:45