2012-05-13 52 views
2

喜歡在一個話題中... 如何從一個實體中的數據庫中獲取相同的字段,但是具有兩種不同的類型...JPA:單個數據庫字段,在同一個實體上的多個不同實體上的多次

@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與從PrimeFaces的LazyDataModel的字段過濾... –

+0

什麼沒有完全工作?你有沒有在你的標準查詢中獲取你的子對象? – Perception

回答

4

你hotelId是@Basic ,所以你必須使用@Column而不是@JoinColumn。您還應該將其中一個列設置爲insertable/updateable = false,因爲您將它映射兩次。

相關問題