Spring是一个轻量级的开源JavaEE框架,提供全面的基础设施支持。核心特性包括:
Hibernate是一个对象关系映射(ORM)框架,主要功能包括:
@SpringBootApplication
@ComponentScan(basePackages = "com.your.package")
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@EntityGraph(attributePaths = "orders")
@Query("SELECT c FROM Customer c WHERE c.id = :id")
Customer findWithOrdersById(@Param("id") Long id);
// 在application.properties中
spring.jpa.properties.hibernate.jdbc.batch_size=20
spring.jpa.properties.hibernate.cache.use_second_level_cache=true
Spring和Hibernate常一起使用,Spring提供整体架构,Hibernate处理数据持久化:
@Repository
public class UserRepositoryImpl implements UserRepository {
@PersistenceContext
private EntityManager entityManager;
@Override
@Transactional
public void save(User user) {
entityManager.persist(user);
}
@Override
public User findById(Long id) {
return entityManager.find(User.class, id);
}
}
两者不是非此即彼的关系,而是互补的技术栈,现代Java开发中经常同时使用它们各自的优势。