2
我需要幫助,從這個數據庫中創建正確的POJO的...組合鍵與Hibernate
https://www.dropbox.com/s/j2lfu44zpqfcxb4/dbr.PNG
我曾嘗試創建這個類...
@Entity
@Table(name="Municipio", catalog="elecciones2014", schema="")
public class Municipio implements Serializable{
@EmbeddedId
private MunicipioPk idMunicipio;
@Basic(optional=false)
@Column(name="nomb_municipio")
private String nomb_municipio;
}
有了這個嵌入類
@Embeddable
class MunicipioPk implements Serializable{
/**
*
*/
private static final long serialVersionUID = 1L;
@Column(name="id_depto")
String departamento;
@Column(name="id_municipio")
String idMunicipio;
}
問題是當我想參考'門來自'JRV'的icipio'不知道如何訪問'id_municipio'字段。我有這個代碼,但它不起作用
@Entity
@Table(name = "JRV", catalog = "elecciones2014", schema = "")
public class Jrv {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id_jrv")
private int id;
@ManyToOne(fetch=FetchType.LAZY)
@JoinColumn(name="id_municipio",referencedColumnName="idMunicipio")
private Municipio municipio;
@ManyToOne
@JoinColumn(name="DUI",referencedColumnName="dui")
private PadronElectoral dui;
}
有人可以幫助我嗎? 我該怎麼做呢? 謝謝你的建議!
感謝您的幫助,但現在我收到此異常 org.hibernate.MappingException:無法在org.hibernate.mapping中查找具有邏輯名稱的列id_municipio。表(elecciones2014.Municipio)及其相關的超類和副表 – 2014-11-06 20:38:54
奇怪......當我在你的問題的實體上嘗試它時,它對我有效。您的項目中的實體與您的問題中的項目是否相同,或者您在此期間以某種方式修改了它們?具體檢查一下你的嵌入式ID中的municipio密鑰是否真的是id_municipio。否則,我不認爲這是行不通的原因。 – 2014-11-06 21:01:04
你是對的,它的工作很完美。我的項目代碼中有一個錯誤,但在解決問題後,您的答案奏效了。非常感謝!! – 2014-11-08 17:51:55