スプリングブート-データベースにエンティティを1つだけ作成することはできません

hdw3:

私はアプリのデータベースとしてH2を使用しており、アプリが終了するとすべてのデータが削除されます。ここで、すべてのデータをディスク上のファイルに保存するデータベースを使用したいと思います。

私はこのためにMariaDBを選択しましたが、MariaDBは自分のテーブルの1つを作成できません(1つを除いてすべてのエンティティが作成されます)。H2の使用には問題がなかったので、これは私の構成に問題があると思います。

pom.xml

    <dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <!--<dependency>-->
        <!--<groupId>com.h2database</groupId>-->
        <!--<artifactId>h2</artifactId>-->
        <!--<scope>runtime</scope>-->
    <!--</dependency>-->

    <dependency>
        <groupId>org.mariadb.jdbc</groupId>
        <artifactId>mariadb-java-client</artifactId>
        <version>1.5.7</version>
    </dependency>

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
        <version>2.5.0</version>
    </dependency>

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
        <version>2.5.0</version>
    </dependency>
</dependencies>

application.properties

spring.datasource.driver-class-name=org.mariadb.jdbc.Driver
spring.jpa.hibernate.ddl-auto=create
spring.datasource.url=jdbc:mysql://localhost:3306/db_example
spring.datasource.username=springuser
spring.datasource.password=springuser
#spring.h2.console.enabled=true

作成されないエンティティ(H2を使用しても問題ありません)

@Entity
@Table(name = "MEETINGS")
public class Meeting extends BaseEntity {
    private Date when;
    private String topic;

    @ManyToOne
    @JoinColumn(name = "CLIENT_ID", nullable = false)
    private Client client;

    @ManyToOne
    @JoinColumn(name = "ESTATE_ID", nullable = false)
    private Estate estate;

例外

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL via JDBC Statement
    at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:67) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlString(SchemaCreatorImpl.java:440) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.applySqlStrings(SchemaCreatorImpl.java:424) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.createFromMetadata(SchemaCreatorImpl.java:375) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.performCreation(SchemaCreatorImpl.java:166) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:135) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.tool.schema.internal.SchemaCreatorImpl.doCreation(SchemaCreatorImpl.java:121) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.performDatabaseAction(SchemaManagementToolCoordinator.java:155) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.tool.schema.spi.SchemaManagementToolCoordinator.process(SchemaManagementToolCoordinator.java:72) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:312) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:462) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:892) [hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    at org.springframework.orm.jpa.vendor.SpringHibernateJpaPersistenceProvider.createContainerEntityManagerFactory(SpringHibernateJpaPersistenceProvider.java:57) [spring-orm-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:365) [spring-orm-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.buildNativeEntityManagerFactory(AbstractEntityManagerFactoryBean.java:390) [spring-orm-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:377) [spring-orm-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.afterPropertiesSet(LocalContainerEntityManagerFactoryBean.java:341) [spring-orm-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1758) [spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1695) [spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:573) [spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495) [spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317) [spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) ~[spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315) [spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) [spring-beans-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1089) ~[spring-context-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:859) ~[spring-context-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550) ~[spring-context-5.0.9.RELEASE.jar:5.0.9.RELEASE]
    at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140) ~[spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:780) ~[spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412) ~[spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:333) ~[spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1277) ~[spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1265) ~[spring-boot-2.0.5.RELEASE.jar:2.0.5.RELEASE]
    at pl.isbd.estate.dealer.Application.main(Application.java:13) ~[classes/:na]
Caused by: java.sql.SQLSyntaxErrorException: (conn:174) Table 'db_example.meetings' doesn't exist
Query is : alter table meetings add constraint FK5lfl8h6qtwn2ut7mkblahc46s foreign key (estate_id) references estates (id)
    at org.mariadb.jdbc.internal.util.ExceptionMapper.get(ExceptionMapper.java:139) ~[mariadb-java-client-1.5.7.jar:na]
    at org.mariadb.jdbc.internal.util.ExceptionMapper.getException(ExceptionMapper.java:101) ~[mariadb-java-client-1.5.7.jar:na]
    at org.mariadb.jdbc.internal.util.ExceptionMapper.throwAndLogException(ExceptionMapper.java:77) ~[mariadb-java-client-1.5.7.jar:na]
    at org.mariadb.jdbc.MariaDbStatement.executeQueryEpilog(MariaDbStatement.java:224) ~[mariadb-java-client-1.5.7.jar:na]
    at org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:253) ~[mariadb-java-client-1.5.7.jar:na]
    at org.mariadb.jdbc.MariaDbStatement.execute(MariaDbStatement.java:266) ~[mariadb-java-client-1.5.7.jar:na]
    at com.zaxxer.hikari.pool.ProxyStatement.execute(ProxyStatement.java:95) ~[HikariCP-2.7.9.jar:na]
    at com.zaxxer.hikari.pool.HikariProxyStatement.execute(HikariProxyStatement.java) ~[HikariCP-2.7.9.jar:na]
    at org.hibernate.tool.schema.internal.exec.GenerationTargetToDatabase.accept(GenerationTargetToDatabase.java:54) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]
    ... 34 common frames omitted
Caused by: org.mariadb.jdbc.internal.util.dao.QueryException: Table 'db_example.meetings' doesn't exist
Query is : alter table meetings add constraint FK5lfl8h6qtwn2ut7mkblahc46s foreign key (estate_id) references estates (id)
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readErrorPacket(AbstractQueryProtocol.java:1098) ~[mariadb-java-client-1.5.7.jar:na]
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.readPacket(AbstractQueryProtocol.java:1030) ~[mariadb-java-client-1.5.7.jar:na]
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.getResult(AbstractQueryProtocol.java:985) ~[mariadb-java-client-1.5.7.jar:na]
    at org.mariadb.jdbc.internal.protocol.AbstractQueryProtocol.executeQuery(AbstractQueryProtocol.java:129) ~[mariadb-java-client-1.5.7.jar:na]
    at org.mariadb.jdbc.MariaDbStatement.executeInternal(MariaDbStatement.java:243) ~[mariadb-java-client-1.5.7.jar:na]
    ... 38 common frames omitted
クリス・トンプソン:

という名前のフィールドがあり、whenそれがテーブルを作成しようとしたときに構文エラーを引き起こしている可能性があります。そのフィールドの名前を変更するか、@Column注釈を使用して、許可される列名を指定してください。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Dynamics CRM WebAPIキャンペーンへのマーケティングリストの追加「キャンペーンタイプのエンティティとリストタイプのエンティティの間で関連付けを実行することはできません。」

分類Dev

XmlファイルDoubledは1つだけをディレーティングすることはできません

分類Dev

Hibernate 5は、エンティティがこのインスタンスで終了することを永続化および更新しますが、データベースに行としてまだ存在していません

分類Dev

ng:1つの要素に複数のテンプレートバインディングを含めることはできません。templateという名前または接頭辞*が付いた属性を1つだけ使用してください

分類Dev

JSONをWebAPI 2に投稿するときにエラーが発生しました:リクエストエンティティのメディアタイプ「text / plain」はこのリソースではサポートされていません

分類Dev

Hibernateはエンティティコンストラクタを見つけることができません

分類Dev

最初にデータベースにインポートした後、エンティティモデルを特異にすることはできますか?

分類Dev

Doctrine2:少なくとも1つのルートエンティティエイリアスを選択せずに、識別変数を介してエンティティを選択することはできません

分類Dev

教義2:少なくとも1つのルートエンティティエイリアスを選択せずに、識別変数を介してエンティティを選択することはできません

分類Dev

少なくとも1つのルートエンティティエイリアスを選択せずに、識別変数からエンティティを選択することはできません

分類Dev

エンティティのグーグルデータストアは「空の」プロパティを持つことができますか?

分類Dev

スプリングブートMavenプラグインは、mainClassプロパティについて言及し、それが鼻の下にある場合でも、mainClassを見つけることができません

分類Dev

Ef Core 3エンティティタイプXOrderは、Orderから派生しているため、テーブルにマップできません。ベースエンティティタイプのみをテーブルにマップできます。

分類Dev

hibernateによってクラスをデータベーステーブルにマッピングしているときに「エンティティクラスが見つかりません」エラーが発生する

分類Dev

ExcelVBAエディターからMSEdgeにテキストを貼り付けることができません

分類Dev

レーティングバーにフルスターのみを表示することはできません

分類Dev

ジャクソンを使用して、オブジェクトの値(なしdelegate-またはプロパティベースクリエイター)からデシリアライズすることはできません

分類Dev

タイプが作成されたエンティティを持つコンテキストブローカー、タイプなしのエンティティ作成で応答はOKですが、エンティティがリストされている場合は表示されません

分類Dev

リスナーバインディング。セッターを見つけることができません

分類Dev

リスナーバインディング。セッターを見つけることができません

分類Dev

Doctrine2:[セマンティックエラー]少なくとも1つのルートエンティティエイリアスを選択せずに、識別変数からエンティティを選択することはできません

分類Dev

MicrosoftAccessデータベースエンジンはオブジェクト 'Sheet1 $を見つけることができませんでした

分類Dev

MicrosoftJetデータベースエンジンはオブジェクト「Sheet1 $ _」を見つけることができませんでした

分類Dev

角度グリッドには、インライン剣道グリッドのエディターテンプレート(リアクティブフォーム)を含む列があります。テンプレートコントロール(テキストボックス)とフォームはリンクしません

分類Dev

測定プロトコルのグーグルアナリティクスで異なるレベルでカスタムディメンションを追加することはできません

分類Dev

ArgumentNullException:値をnullにすることはできません。パラメータ名:エンティティ

分類Dev

wpプラグインのアクティブ化時に複数のカスタムデータベーステーブルを作成できません

分類Dev

デプロイメントマシンで「オブジェクトを作成できません。システムは指定されたファイルを見つけることができません」というエラーを調査する方法

分類Dev

データベースに存在する1つの関連エンティティとともにエンティティを挿入します

Related 関連記事

  1. 1

    Dynamics CRM WebAPIキャンペーンへのマーケティングリストの追加「キャンペーンタイプのエンティティとリストタイプのエンティティの間で関連付けを実行することはできません。」

  2. 2

    XmlファイルDoubledは1つだけをディレーティングすることはできません

  3. 3

    Hibernate 5は、エンティティがこのインスタンスで終了することを永続化および更新しますが、データベースに行としてまだ存在していません

  4. 4

    ng:1つの要素に複数のテンプレートバインディングを含めることはできません。templateという名前または接頭辞*が付いた属性を1つだけ使用してください

  5. 5

    JSONをWebAPI 2に投稿するときにエラーが発生しました:リクエストエンティティのメディアタイプ「text / plain」はこのリソースではサポートされていません

  6. 6

    Hibernateはエンティティコンストラクタを見つけることができません

  7. 7

    最初にデータベースにインポートした後、エンティティモデルを特異にすることはできますか?

  8. 8

    Doctrine2:少なくとも1つのルートエンティティエイリアスを選択せずに、識別変数を介してエンティティを選択することはできません

  9. 9

    教義2:少なくとも1つのルートエンティティエイリアスを選択せずに、識別変数を介してエンティティを選択することはできません

  10. 10

    少なくとも1つのルートエンティティエイリアスを選択せずに、識別変数からエンティティを選択することはできません

  11. 11

    エンティティのグーグルデータストアは「空の」プロパティを持つことができますか?

  12. 12

    スプリングブートMavenプラグインは、mainClassプロパティについて言及し、それが鼻の下にある場合でも、mainClassを見つけることができません

  13. 13

    Ef Core 3エンティティタイプXOrderは、Orderから派生しているため、テーブルにマップできません。ベースエンティティタイプのみをテーブルにマップできます。

  14. 14

    hibernateによってクラスをデータベーステーブルにマッピングしているときに「エンティティクラスが見つかりません」エラーが発生する

  15. 15

    ExcelVBAエディターからMSEdgeにテキストを貼り付けることができません

  16. 16

    レーティングバーにフルスターのみを表示することはできません

  17. 17

    ジャクソンを使用して、オブジェクトの値(なしdelegate-またはプロパティベースクリエイター)からデシリアライズすることはできません

  18. 18

    タイプが作成されたエンティティを持つコンテキストブローカー、タイプなしのエンティティ作成で応答はOKですが、エンティティがリストされている場合は表示されません

  19. 19

    リスナーバインディング。セッターを見つけることができません

  20. 20

    リスナーバインディング。セッターを見つけることができません

  21. 21

    Doctrine2:[セマンティックエラー]少なくとも1つのルートエンティティエイリアスを選択せずに、識別変数からエンティティを選択することはできません

  22. 22

    MicrosoftAccessデータベースエンジンはオブジェクト 'Sheet1 $を見つけることができませんでした

  23. 23

    MicrosoftJetデータベースエンジンはオブジェクト「Sheet1 $ _」を見つけることができませんでした

  24. 24

    角度グリッドには、インライン剣道グリッドのエディターテンプレート(リアクティブフォーム)を含む列があります。テンプレートコントロール(テキストボックス)とフォームはリンクしません

  25. 25

    測定プロトコルのグーグルアナリティクスで異なるレベルでカスタムディメンションを追加することはできません

  26. 26

    ArgumentNullException:値をnullにすることはできません。パラメータ名:エンティティ

  27. 27

    wpプラグインのアクティブ化時に複数のカスタムデータベーステーブルを作成できません

  28. 28

    デプロイメントマシンで「オブジェクトを作成できません。システムは指定されたファイルを見つけることができません」というエラーを調査する方法

  29. 29

    データベースに存在する1つの関連エンティティとともにエンティティを挿入します

ホットタグ

アーカイブ