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