在hibernate中首选哪种方法来执行MySQL查询?

时间:2015-03-18 15:39:17

标签: mysql hibernate jpa hibernate-criteria querydsl

我是休眠的新手。我遇到过几个教程。但是,那些教程并没有消除我的疑虑。所以,我想知道我有几个问题的答案。

  1. Hibernate和Hibernate JPA有什么区别?
  2. 什么是Creteria查询,QueryDSL API?为什么我们在应用程序中需要这些API?我们可以一起使用这些API吗?
  3. 什么是查询方法?如何在我们的应用程序中使用Query方法?
  4. 我在很多地方看到有些人使用下面的代码将数据保存到数据库中

     Configuration cfg = new Configuration();
     cfg.configure("hibernate.cfg.xml");
     SessionFactory factory = cfg.buildSessionFactory();
     Session session = factory.openSession();
     Product p=new Product();
     p.setProductId(101);
     p.setProName("iPhone");
     p.setPrice(25000);
    
     Transaction tx = session.beginTransaction();
     session.save(p);
     tx.commit();
    
  5. 但是,有些人正在使用以下代码访问数据库,

    public interface ProductRepository extends BaseModelRepository<Product,Integer>
    {
      @Query("SELECT e FROM #{#entityName} e WHERE product_id = :productId")
      public Iterable<Product> findByProductId(@Param("productdId") int productId);
    }
    

    哪种方法更适合访问MySQL数据库?请让我说清楚。

0 个答案:

没有答案