使用Hibernate生成服务层
-
26-09-2019 - |
题
我生成 .hbm.xml
映射文件和 .java
使用 Hibernate 工具从数据库模式中获取文件。我的问题是,是否有任何选项可以生成服务类?这些是我实现 store()、find()、delete() 等的类......方法。我知道对于 C# 有很多解决方案可以生成几乎所有内容。我正在寻找相同的东西,但是使用 Hibernate。有没有?
解决方案
生成“服务”对我来说没有多大意义,因为服务通常实现业务逻辑(Hibernate 无法神奇地生成)。
现在,如果您的意思是数据访问代码,即DAO(公开并实现 CRUD 方法和查找器),然后 休眠工具 可以做到这一点。这就是 DAO 代码 (.java) 捕获的选项 Eclipse插件 如下图所示:
替代文本http://docs.jboss.org/tools/2.0.0.GA/hibernatetools/en/html/images/codegenexporters.png
相当于 蚂蚁任务 是 hbm2dao
.
但我个人不使用这个功能,我会去 达菲莫的方式.
其他提示
没有选项生成服务。
您应该能够编写只有一个通用的DAO接口和实现与Hibernate。
像这样:
package persistence;
import java.io.Serializable;
import java.util.List;
public interface GenericDao<T, K extends Serializable>
{
T find(K id);
List<T> find();
List<T> find(T example);
List<T> find(String queryName, String [] paramNames, Object [] bindValues);
K save(T instance);
void update(T instance);
void delete(T instance);
}
Spring Roo的可能有你想要的东西。
可以实现仅通过声明接口数据访问层,以及具有这些使用JDK代理,其然后调用休眠方法实现。的细节的位置 - 使用一个简单的数据访问层休眠
。我已经实现了这一点,它运作良好,并已发展到满足我的需求。我扩展该外接(),删除()等等。方法还incude命名查询(findQueryName
)和使用泛型的,因此,所有我需要做声明一个基本CRUD数据访问接口是
public interface SomeObjectDAO extends GenericDAO<SomeObject> {
}
不隶属于 StackOverflow