PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Skonfiguruj JPA/Hibernację/PostgreSQL bez XML

Umieść następujące fragmenty w klasie z adnotacją @Configuration i @EnableTransactionManagement

Hibernacja/JPA (edytuj pakietyToScan String):

@Bean
public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
    LocalContainerEntityManagerFactoryBean em = new LocalContainerEntityManagerFactoryBean();
    em.setDataSource(dataSource());
    em.setPackagesToScan(new String[] { "com.XY.model" });
    JpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter();
    em.setJpaVendorAdapter(vendorAdapter);
    em.setJpaProperties(additionalProperties());
    return em;
}

Properties additionalProperties() {
    Properties properties = new Properties();
    properties.setProperty("hibernate.hbm2ddl.auto", "update");
    properties.setProperty("hibernate.dialect", "org.hibernate.dialect.PostgreSQL9Dialect");
    properties.setProperty("hibernate.show_sql", "true");
    return properties;
}

DataSource (edytuj nazwę użytkownika, hasło i adres hosta):

@Bean
public DataSource dataSource() {
    DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName("org.postgresql.Driver");
    dataSource.setUrl("jdbc:postgresql://localhost:port/DB_NAME");
    dataSource.setUsername("root");
    dataSource.setPassword("");
    return dataSource;
}

Menedżer transakcji:

@Bean
public PlatformTransactionManager transactionManager(EntityManagerFactory emf) {
    JpaTransactionManager transactionManager = new JpaTransactionManager();
    transactionManager.setEntityManagerFactory(emf);
    return transactionManager;
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Różnica między CTE Postgres a wydajnością podzapytań. Czemu?

  2. Używanie parametru pozycyjnego ($1,..) w psql

  3. Uzyskaj liczbę rekordów, których dotyczy INSERT lub UPDATE w PostgreSQL

  4. Pobierz N-ty element tablicy, który zwraca z funkcji string_to_array()

  5. pg_query_params zwraca błąd:komunikat bind dostarcza 2 parametry, ale przygotowana instrukcja wymaga 1