我Google guice在项目中使用过,现在尝试将框架SpringBoot完全转换为。
Google guice
SpringBoot
我配置了豆为persistence.xml像 下面
persistence.xml
@Autowired @Bean(name = "transactionManager") public LocalContainerEntityManagerFactoryBean entityManagerFactory() { LocalContainerEntityManagerFactoryBean lEMF = new LocalContainerEntityManagerFactoryBean(); lEMF.setPersistenceUnitName("leaseManagementPU"); lEMF.setPersistenceXmlLocation("persistence.xml"); return lEMF; }
现在我需要配置(进样)EntityManagerEM,做JPA operations像em.persist(),em.find等…我如何配置,也有人尝试与示例代码解释
EntityManager
JPA operations
em.persist()
em.find
凭借Spring Boot其不需要具有如同任何配置文件persistence.xml。您可以使用以下命令进行配置:annotations只需为JPA配置数据库配置
Spring Boot
annotations
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。
CrudRepository
CRUD
SQL's
JPQL
@Transactional public interface ObjectRepository extends CrudRepository<Object, Long> { ... }
如果仍然需要使用,则Entity Manager可以创建另一个类。
Entity Manager
public class ObjectRepositoryImpl implements ObjectCustomMethods{ @PersistenceContext private EntityManager em; }
这应该在你的 pom.xml
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>