java - Hibernate 的 Activity 记录模式

标签 java spring hibernate orm

我正在使用 Spring MVC + JSP + Hibernate 开发一个相当简单的 Web 应用程序。首先,我遵循了本教程: http://www.cavalr.com/blog/Spring_3_and_Annotation_Based_Hibernate_4_Example

这工作正常,但我担心代码冗长。为了支持用户实体,我们还有 UserDao、UserDaoImpl、UserService 和 UserServiceImpl。我知道对于大型企业应用程序,您可能真的想要这个。但对于我的简单 Web 应用程序来说,这是不需要(和不需要)的复杂性。我可以更简单地用 Python 实现所有这些。

那么,有没有办法让Hibernate使用Active Record设计模式呢?我想要做的事情是让 User 从基类继承方法,如 get() 。所以你可以做 User.get(userName)

我对使用不同的 ORM 来 Hibernate 持开放态度;我刚刚开始,因为它似乎是常见的选择。而且据说它类似于我熟悉的 Python SQLAlchemy。

我也对更多开箱即用的解决方案持开放态度,也许是可以自动生成 DAO 类的 IDE 插件。

任何建议表示赞赏!

保罗

最佳答案

看看 spring roo,它使用 Activity 记录模式。

或者(在查看 roo 之后)您可以自己构建它。您只需要:

  • @Configurable 在您的实体中启用注入(inject)(这也需要真正的 AspectJ)

您可以使用它来注入(inject) EntityManager 或 hibernateSession

关于java - Hibernate 的 Activity 记录模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17235466/

相关文章:

java - Cursor getContentResolver().query MediaStore 未获取最新添加的音频文件

java - Spring Batch - 如何将字符串从文件转换为日期?

java - 从hibernate sql join获取多个实体

java - 浏览器仅针对受限页面发送授权 header - 它是如何知道的?

java - 创建带参数的构造函数

java - spring - 无法在 tomcat 上运行 spring boot 应用程序

java - Spring:这个模式是线程安全的吗?

mysql - 使用 Hibernate 查询缓存时的缓存更新

sql - 与 hibernate 标准对同一实体进行多重关联

java - 在一个简单的 Maven hibernate 项目中出现错误 "java.lang.NoClassDefFoundError: org/hibernate/cfg/Mappings"