0
JoinTableを注釈として作成しました。そのため、そのデータベーススキーマのエンティティがありません。私はこのエラーを取得する理由をされていること:@jointable annotationで作成されたスキーマをjpaで選択できません
「によって引き起こさ:例外[EclipseLinkの-0](Eclipseの永続性サービス - 2.6.1.v20150605-31e8258):org.eclipse.persistence.exceptions.JPQLException 例外説明:問題 [41、65]状態フィールドパス 'it.itineraryTraveller_id'を解決できません。[it.itineraryTraveller_id]:[it.itineraryTraveller_id =有効な型に変換します。 "
私はjointableを作成ここで: `
@Entity
public class itineraryTraveller implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long Id;
private String departureLocation;
private String arrivalLocation;
@ManyToMany(fetch = FetchType.LAZY)
//@JoinTable(name="ITINERARYTRAVELLER_FLIGHT")
@JoinTable(name = "itinerary_flight",
joinColumns = @JoinColumn(name = "itineraryTraveller_id"),
inverseJoinColumns = @JoinColumn(name = "flightEntity_id")
)
private List<flightEntity> flights;
そして私は、私は上記のようにエラーメッセージが表示されますことjointableを選択しようとします。ここでの問合せ:このような
Query query= em.createQuery("SELECT it FROM Itinerary_flight it WHERE it.itineraryTraveller_id = :id");
query.setParameter("id", listOfItineraries.get(i).getId());
List<flightEntity> list= query.getResultList();
実際にこのエンティティのスキーマを作成しましたか? TABLEは存在しますか?そのメッセージはそれがそうでないことを意味するからです。いくつかの注釈を入れるだけで、スキーマを作成せずにスキーマを作成することはありません。ステッププロセス –
が存在します。私がWorkbenchに行くと、私はテーブルが作成され、適切にいっぱいになるのを見ることができます。しかし、私がスキーマを作成した唯一の場所は、@ジョイント可能なアノテーションです。だから私はそのテーブルのエンティティを持っていない – pquin92
@ NeilStockton私は問題がクエリがentityManagerで呼び出されていると思う(しかし、この結合テーブルはエンティティを持っていません)。では、エンティティマネージャなしでスキーマをどのようにクエリできますか? – pquin92