Java + Spring + hibernate:Dao实现即将在未来发生变化

时间:2013-05-15 09:10:19

标签: java spring hibernate nosql dao

我目前正在使用spring 3和hibernate 4开发一个Web服务器。

在我的服务器中,我有以下界面:

  1. GenericDao
  2. UserDao扩展GenericDao
  3. ProductDao扩展GenericDao
  4. ...更多daos here
  5. 和3个实现:

    1. HibernateGenericDaoImpl
    2. HibernateUserDaoImpl
    3. HibernateProductDaoImpl
    4. ....更多Hibernate daos impl here
    5. 将来我们正在考虑迁移到NO-SQL数据库(可能是couchDB)。 我的问题是:

      “既然no-sql与orm无关,我是否需要实际替换我项目中的所有daos impl?!(可能有很多)是不是有更通用的方式?”

      谢谢!

1 个答案:

答案 0 :(得分:0)

使用JPARepository怎么样: 看看http://www.springsource.org/spring-data/jpa

CrudRepository非常有用,可以节省大量时间。 看一下jpa-spring文档 您可以为商店实体类对象定义CrudRepository的子接口。 CrudRepository为您定义crud服务 你可以在你的界面中添加一个像“findTicketByExpireDateBefore(Date date)”这样的方法,然后spring将使用命名约定来构建requete的实现 如果requete更复杂,您可以使用@Query注释来编写它