barebones Springブートプロジェクトdescribed hereを設定していますが、基本設定で問題が発生しています。H2 Springブートアプリケーションでスキーマが空です
DatabaseLoaderが呼び出されないと思われます。このプロジェクトのH2 Consoleを開くと、Employeeテーブルを含むスキーマは表示されません。
ここに私のpom.xmlの関連部分です:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<!--
<scope>runtime</scope>
-->
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.4</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
は自分のドメイン:
@Data
@Entity
public class Employee {
private @Id @GeneratedValue Long id;
private String firstName;
private String lastName;
private String description;
public Employee() {}
public Employee(String firstName, String lastName, String description) {
this.firstName = firstName;
this.lastName = lastName;
this.description = description;
}
}
とデータベースローダー: パブリッククラスDatabaseLoaderはCommandLineRunner { 民間最終EmployeeRepositoryリポジトリを実装します。ローカルホストでのアプリケーションの起動後にコンソールにナビゲート
@Autowired
public DatabaseLoader(EmployeeRepository repository) {
this.repository = repository;
}
@Override
public void run(String... strings) throws Exception {
this.repository.save(new Employee("duke", "earl", "dude"));
}
}
:のみINFORMATION_SCHEMAとユーザーメニューで〜/テスト:H2:8080 /コンソールは、JDBCを示しています。私はこれをCRUDリポジトリとして設定し、投稿することはできますが、属性データは保存されていないようですが、Employeesリソースが認識されています。これは臆面もなくジョシュロングから借りている
{
"_links": {
"self": {
"href": "http://localhost:8080/api/employees/4"
},
"employee": {
"href": "http://localhost:8080/api/employees/4"
}
}
}
コンソールが稼働しました - ありがとう!投稿を送信するとテーブルにレコードが作成されますが、名前と説明フィールドはすべてnullです。これは私にとって初めてのロンボクの問題かもしれませんが、今私はこれを調べています – IcedDante
これから試してみますが、私はチュートリアル "React.jsとSpring Data REST:Part 1"からかなりコピーしていますなぜ私はそれがちょうど宣伝されたように動作しないのか分かりません – IcedDante
私はゲッター/セッターを手動で追加し、それは働いた。奇妙な!私はそれが何であるかを調査しますが、助けてくれてありがとう – IcedDante