小编bho*_*hop的帖子

Spring Data JPA:在save()方法之后从实体获取数据

我在项目中将Spring Data JPA与Hibernate JPA提供程序一起使用。在服务内部,我有一个方法,该方法将实体保存在数据库中,并且比使用返回的对象,我尝试获取有关该实体的更多详细信息。结果,未获取细节。在日志中,我仅看到插入语句,而没有选择详细信息。

这是我的代码:

组态:

@Configuration
@Profile("test")
@EnableJpaRepositories(basePackages = {"pl.lodz.uml.sonda.common.repositories"})
@EnableTransactionManagement
@PropertySource(value = "classpath:db.test.properties")
public class PersistenceConfigTest {
  @Autowired
  private Environment env;
  @Value("classpath:sql/test-initialization.sql")
  private Resource sqlInitializationScript;

  @Bean
  public DataSource dataSource() {
    BasicDataSource dataSource = new BasicDataSource();

    dataSource.setDriverClassName(env.getProperty("jdbc.driverClassName"));
    dataSource.setUrl(env.getProperty("jdbc.url"));
    dataSource.setUsername(env.getProperty("jdbc.username"));
    dataSource.setPassword(env.getProperty("jdbc.password"));

    return dataSource;
  }

  @Bean
  public LocalContainerEntityManagerFactoryBean entityManagerFactory() {
    LocalContainerEntityManagerFactoryBean entityManagerFactory = new LocalContainerEntityManagerFactoryBean();
    HibernateJpaVendorAdapter adapter = new HibernateJpaVendorAdapter();

    adapter.setShowSql(env.getProperty("hibernate.showSQL", Boolean.class));
    adapter.setGenerateDdl(env.getProperty("hibernate.hbm2ddl", Boolean.class));

    entityManagerFactory.setDataSource(dataSource());
    entityManagerFactory.setPackagesToScan("pl.lodz.uml.sonda.common.domains");
    entityManagerFactory.setJpaVendorAdapter(adapter);

    Properties properties = new Properties();
    properties.put("hibernate.hbm2ddl.auto", env.getProperty("hibernate.hbm2ddl.auto"));

    entityManagerFactory.setJpaProperties(properties);

    return entityManagerFactory;
  }

  @Bean(name = "transactionManager") …
Run Code Online (Sandbox Code Playgroud)

java spring hibernate jpa spring-data-jpa

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

hibernate ×1

java ×1

jpa ×1

spring ×1

spring-data-jpa ×1