小编典典

Spring Boot-配置EntityManager

spring-boot

Google guice在项目中使用过,现在尝试将框架SpringBoot完全转换为。

我配置了豆为persistence.xml下面

@Autowired
@Bean(name = "transactionManager")
public LocalContainerEntityManagerFactoryBean entityManagerFactory()
{
    LocalContainerEntityManagerFactoryBean lEMF =  new LocalContainerEntityManagerFactoryBean();
    lEMF.setPersistenceUnitName("leaseManagementPU");
    lEMF.setPersistenceXmlLocation("persistence.xml");
    return lEMF;
}

现在我需要配置(进样)EntityManagerEM,做JPA operationsem.persist()em.find等…我如何配置,也有人尝试与示例代码解释


阅读 2035

收藏
2020-05-30

共1个答案

小编典典

凭借Spring Boot其不需要具有如同任何配置文件persistence.xml。您可以使用以下命令进行配置:annotations只需为JPA配置数据库配置

application.properties

spring.datasource.driverClassName=oracle.jdbc.driver.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@DB...
spring.datasource.username=username
spring.datasource.password=pass

spring.jpa.database-platform=org.hibernate.dialect....
spring.jpa.show-sql=true

然后,您可以使用CrudRepositorySpring提供的具有标准CRUD事务处理方法的地方。在这里,您还可以实现自己的SQL'slike
JPQL

@Transactional
public interface ObjectRepository extends CrudRepository<Object, Long> {
...
}

如果仍然需要使用,则Entity Manager可以创建另一个类。

public class ObjectRepositoryImpl implements ObjectCustomMethods{

    @PersistenceContext
    private EntityManager em;

}

这应该在你的 pom.xml

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.2.5.RELEASE</version>
</parent>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-orm</artifactId>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>4.3.11.Final</version>
    </dependency>
</dependencies>
2020-05-30