Spring 10

エンティティの連携


・HeidiSQLに連結することができません
org.hibernate.exception.SQLGrammarException: could not extract ResultSet
Caused by: java.sql.SQLSyntaxErrorException: Table 'test_01.mydata_msgdatas' doesn't exist

・H2やHSQLDBで実行します。

HSQLDB
1.C:\Users\admin\Downloads\hsqldb-2.4.1\hsqldb\bin に移動して、runServer.batを実行します。(閉じると、実行できません。)

2.CMDで開いて、C:\Users\admin\Downloads\hsqldb-2.4.1\hsqldb\data に移動します。

3.>java -cp ..\lib\hsqldb.jar org.hsqldb.util.DatabaseManager 入力します。


DataBase配置

mydata
CREATE TABLE TEST_TABLE (
  id    INTEGER NOT NULL IDENTITY,
  name VARCHAR(256),
  mail VARCHAR(256),
  age INTEGER,
  memo VARCHAR(200)
)

msgdata
CREATE TABLE TEST_TABLE (
  id    INTEGER NOT NULL IDENTITY,
  title VARCHAR(256),
  message VARCHAR(256),
)


Spring配置

application.properties
spring.datasource.url=jdbc:hsqldb:file:./db/testdb;shutdown=true
spring.jpa.hibernate.ddl-auto=update

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

実行結果:成功


H2
会ったバグ
java. sql.SQLTransientConnectionException: java.net. ConnectException: Connection refused: connect
解決できませんでしたが、HSQLDBでDateBaseを作ったら、突然使えるようになりました。