वसंत बूट spring.datasource.schema वीएस spring.jpa.properties.hibernate.default_schema - हाइबरनेट, postgresql, वसंत-बूट, वसंत-डेटा, वसंत-डेटा-जेपीए

हाल ही में, मैंने वेब एप्लिकेशन विकास के लिए स्प्रिंग बूट का उपयोग करना शुरू किया।

यह मेरी .properties फ़ाइल सामग्री है:

#data source configuration
spring.datasource.url=jdbc:postgresql://localhost:5432/sampledb
spring.datasource.schema=sample
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.datasource.driver-class-name=org.postgresql.Driver
#spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.minimumIdle=3
spring.datasource.maximumPoolSize=5



#jpa properties configuration
#spring.jpa.show-sql=false
spring.jpa.databasePlatform=org.hibernate.dialect.PostgreSQL82Dialect
spring.jpa.properties.hibernate.show_sql=true
spring.jpa.hibernate.ddl-auto=validate
#spring.jpa.properties.hibernate.default_schema=sample

मेरी इकाई वर्ग का यह हिस्सा:

@Entity
@Table(name = "sample_info")
public class SampleInfo implements Serializable{

private Long id;
private String code;
private Long serialNumber;

@Id
@GeneratedValue(
strategy = GenerationType.SEQUENCE,
generator = "sample_info_seq_gen"
)
@SequenceGenerator(
name = "sample_info_seq_gen",
sequenceName = "sample_info_seq",
allocationSize = 1
)
@Column(name = "id")
public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

ऊपर .properties के आधार पर, मुद्दा हर बार जब मैं स्प्रिंग डेटा JPA रिपॉजिटरी का उपयोग करके नए नमूनाInfo को सहेजने का प्रयास करता हूं, तो मुझे हमेशा त्रुटि अनुक्रम "नमूना_info_seq" मिलता है।

अगर मैं spring.datasource.schema = नमूना और अप्रतिबंधित स्प्रिंग टिप्पणी करता हूं।

मैं उन दोनों के बीच अंतर नहीं जानता, कोई भी मदद कर सकता है?

उत्तर:

जवाब के लिए 5 № 1

Spring.datource.schema स्प्रिंग बूट द्वारा अपने डेटाबेस में sql के साथ एक फ़ाइल लोड करने के लिए उपयोग किया जाता है। यदि आप इस का उपयोग करते हैं तो Postgres सोचेंगे कि आप "सार्वजनिक" स्कीमा का उपयोग करना चाहते हैं।

spring.jpa.properties.hibernate.default_schema हाइबरनेट बताता है कि पोस्टग्रैज में कौन से स्कीमा आप उपयोग करना चाहते हैं। अपने उदाहरण के अनुसार इसे सेट करके, Postgres "नमूना" स्कीमा का उपयोग करेंगे।