JPAを学習しようとしています ここにエンティティファイルがあります。 Passenger.javaJPAが間違ったテーブルに接続しています
@Entity
public class Passenger implements Serializable{
public Passenger() {
super();
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;
private String firstName;
private String lastName;
}
私のpersistence.xmlは以下のとおりです。
<persistence xmlns="http://xmlns.jcp.org/xml/ns/persistence" version="2.1">
<persistence-unit name="JPA_POJO">
<provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
<jta-data-source>java:/airlines</jta-data-source>
<class>com.airline.model.Passenger</class>
</persistence-unit>
私のサーブレットは、このようなものです。
@WebServlet(name = "addPassenger")
public class addPassenger extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Passenger p = new Passenger();
// airline p = new airline();
p.setFirstName("ABC");
p.setLastName("XYZ");
EntityManagerFactory emf = Persistence.createEntityManagerFactory("JPA_POJO");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
em.persist(p);
em.getTransaction().commit();
}
}
私はこのコードを実行すると、私は次のエラーを取得します。
org.eclipse.persistence.exceptions.DatabaseException 内部例外:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:1146 コール:INSERTテーブル 'airline.passengerは' エラーコードは存在しません。 PASSENGER INTO(ID、FIRSTNAME、LASTNAME)VALUES(?、?、?)私の知る限りではなくAIRLINEテーブルの助手席のテーブルに接続しようとしている理解できるよう
。 航空会社のテーブルを指すデータソースを割り当てました。実際に私はairline.javaクラスファイルをPassenger.javaと同じように書いていました。私はサーブレット内でairline.javaオブジェクト(コード内でコメントアウト)を使用していました。 私は何が間違っていますか?
:
あなたのケースでは、それは次のようになります。 スレッド "main"の例外javax.persistence.PersistenceException:Exception [EclipseLink-4021](Eclipse永続化サービス - 2.6.3.v20160428-59c81c5):org.eclipse.persistence.exceptions.DatabaseException 例外の説明:ドライバ[null]、ユーザ[null]およびURL [null]からの接続。予想されるドライバクラスとURLが設定されていることを確認します。ログイン、persistence.xml、またはsessions.xmlリソースを確認してください。 jdbc.driverプロパティは、データベースプラットフォームと互換性のあるクラスに設定する必要があります – AhmedRana
Passenger.javaを航空会社のテーブルに書き込む方法はありますか? – AhmedRana
@Entityの後に@Table(name = "AIRLINE")を追加しました –