мне нужна помощь, чтобы создать правильный 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;
}
Проблема в том, когда я хочу ссылаться на «Мун icipio 'из' JRV 'y не знаю, как получить доступ к полю' 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: Не удалось найти столбец с логическим именем: id_municipio в org.hibernate.mapping. Таблица (elecciones2014.Municipio) и связанные с ней суперадвативы и вторичные таблицы –
Странно ... это сработало для меня, когда я попробовал это на сущности в вашем вопросе. Являются ли ваши объекты одинаковыми в вашем проекте, как в вашем вопросе, или вы каким-то образом изменили их? В частности, проверьте, действительно ли ваш муниципальный ключ в вашем встроенном идентификаторе id_municipio. В противном случае я не вижу причины, почему это не сработает. –
Вы были правы, это сработало отлично. У меня была ошибка в коде моего проекта, но после ее решения ваш ответ сработал. Большое спасибо!! –