मैं वसंत बूट के आधार पर एक छोटे से आवेदन किया:फ़ाइल आधारित h2 कायम लेकिन वसंत में लोड नहीं बूट
- वसंत-बूट स्टार्टर-वेब
- वसंत-बूट स्टार्टर-डेटा-जेपीए
एप्लिकेशन में केवल एक डोमेन क्लास Post.java
है। तदनुसार एक RestController और एक डीएओ है। डेटा को एक फ़ाइल आधारित एचएसक्यूएल डीबी में जारी रखा जाना चाहिए।
जब एप्लिकेशन चल रहा है तो सबकुछ ठीक लगता है। डेटा संग्रहित है। एच 2 फ़ाइल बनाई गई है और इसमें सम्मिलित कथन शामिल हैं।
हालांकि, जब मैं एप्लिकेशन को मारता हूं और इसे दूसरी बार शुरू करता हूं। कोई डेटा लोड नहीं होता है। (जैसे कि एक ब्रांड नई डीबी फ़ाइल बनाई गई थी, जो पुराने को ओवरराइट करती है)।
application.properties
spring.datasource.url = jdbc:h2:file:~/testdb
spring.datasource.username = sa
spring.datasource.password = sa
spring.datasource.driverClassName = org.h2.Driver
pom.xml
<!-- Spring Boot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Boot Data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- H2 DB -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<version>1.4.179</version>
</dependency>
PostDAO.java
public interface PostDAO extends JpaRepository<Post, Integer>{
public Post findByMessage(String message);
}
Post.java
@Entity
public class Post {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;
private String message;
public Post(){
}
public Post(String message) {
super();
this.message = message;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
क्या आप अपडेट किए गए pom.xml, application.properties, और इसे काम करने के लिए आपके द्वारा किए गए किसी अन्य परिवर्तन को प्रदान कर सकते हैं। धन्यवाद। –
इस मामले में आपको बस अपनी application.properties फ़ाइल में 'spring.jpa.hibernate.ddl-auto = validate' जोड़ने की आवश्यकता है। @SrkiRakic – qiubix