2012-05-13 14 views
2

トピック内のように... 1つのエンティティで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; 

すなわち

けど....私は私が挿入またはupdateingのためにそれを必要といけない...のみELを使用して、いくつかの検索を行うためにそれを必要とする....

+1

あなたは 'Rooms.hotelId =?'の代わりに 'Rooms.hotel.id =?'を使うことができますか? –

+0

これは、CriteriaQueryで動作しませんでした:/ imは、PrimeFacesからのLazyDataModelのフィールドをフィルタリングして抽象的なDAOを作成しようとしています... –

+0

正確には何ができませんでしたか?条件照会でサブオブジェクトをフェッチしましたか? – Perception

答えて

4

あなたhotelIdは@Basicであります@JoinColumnではなく@Columnを使用する必要があります。また、列の1つをinsertable/updateable = falseとして設定する必要があります。

関連する問題