我使用JPA從數據庫創建了一些實體類。Java - 持久性和實體類
這些是類:
- 航班
- 乘客
- PassengersFlights(含有乘客和航班的主鍵)
- 用戶
在數據庫中,有兩個PassengersFlights表中的外鍵 - 一個用於航班,一個用於乘客。
我唯一的問題是乘客和航班的主鍵是PassengersFlights實體類中的數據類型乘客和航班。但是,它們各自實體類中的數據類型是數據庫中定義的String和int。
我有以下代碼更新PassengersFlights表:
// Updating the Passengers_Flights table
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost/flights_db", "root", "hello");
EntityManagerFactory emFactory = Persistence.createEntityManagerFactory("Flights_AssignmentPU");
EntityManager em = emFactory.createEntityManager();
PassengersFlights booking = new PassengersFlights();
booking.setPassportNum(passport);
booking.setFlightId(flight_id);
em.getTransaction().begin();
em.persist(booking);
em.getTransaction().commit();
em.close();
}
catch (Exception e)
{
response.sendRedirect("ErrorPage.html");
}
我遇到的問題是設置護照號碼,航班號時。在項目中,它們被定義爲字符串和整型。但是,它期望Passenger和Flights數據類型。我該如何解決這個問題?
乘客是否有兩列(乘客和航班)飛行表,您不應該爲PassengersFlights設計額外的班級。在航班和乘客之間使用n-m關係。 –