2012-05-13 2 views
2

Как в теме ... Как я могу получить это же поле из базы данных в одном объекте, но в двух разных типах ....JPA: одно поле базы данных, несколько раз в разных fomr на том же самом объекте

т.е.

@Entity 
@Table(name = "ROOMS") 
public class Rooms implements Serializable { 
private static final long serialVersionUID = 1L; 

@Id 
@GeneratedValue(strategy = GenerationType.IDENTITY) 
@Column(name = "ID_ROOM") 

private int idRoom; 

@ManyToOne 
@JoinColumn(name = "ID_HOTEL") 
private Hotel hotel; 
//and right here I need a something like 

@JoinColumn(name = "ID_HOTEL") 
private int hotelId; 

но .... мне нужен только для выполнения некоторых поисков с использованием EL ... Я не нужно для вставки или updateing ....

+1

Вы знаете, что вместо 'Rooms.hotelId =?' Вы можете использовать 'Rooms.hotel.id =?' И наоборот? –

+0

Он не работал с CriteriaQuery:/im пытается создать абстрактный DAO с фильтрацией для полей для LazyDataModel от PrimeFaces ... –

+0

Что не работает точно? Получали ли вы свой субобъект в запросе критериев? – Perception

ответ

4

Ваш hotelId является @Basic , поэтому вы должны использовать @Column, а не @JoinColumn. Вы также должны установить один из столбцов как insertable/updateable = false, поскольку вы его дважды сопоставляете.

Смежные вопросы