当前位置: 首页 > 面试题库 >

休眠实体自动连线

茅才
2023-03-14
问题内容

能否请您告诉我,我如何才能很好地为Hibernate实体启用Spring自动装配?

假设我有一个实体,并希望在那里有邮件发送者:

@Entity
public class EmailActivity extends Activity {
    @Autowired @Transient
    private JavaMailSender javaMailSender;

    ...
}

有没有比做的更好的方法

AutowireCapableBeanFactory.autowireBean(
    getCurrentSession().get(Activity.class, id)
);

在我的DAO中?

谢谢!


问题答案:

有可能的!(这是Spring Roo中的默认样式!)

您所需要做的就是将@Configurable批注添加到您的实体。在配置中<context:spring- configured/>并使用AspectJ编织激活注释。

Spring参考中有一章:7.8.1使用AspectJ通过Spring依赖注入域对象

也可以看看:

  • http://www.chrissearle.org/node/285
  • http://www.olivergierke.de/wordpress/2009/05/using-springs-configurable-in-three-easy-steps/

顺便说一句,我强烈建议尽可能使用AspectJ编译时编织。



 类似资料:
  • 问题内容: 我为Hibernate / JPA配置问题感到困惑,该问题阻止了我的带有JPA注释的实体自动注册: 在我的实体课程中,我有: 在MySQL中,语言表如下所示: 我的persistence.xml看起来像: 编辑 :这是我获取EntityManager并保持的方式: 问题答案: 事实证明这很简单:直接在persistence.xml文件中列出这些类。armandino和MikelRasc

  • 问题内容: 我使用Hibernate 4和Spring 3。 我有两个实体。 图书实体 和作者实体 和JSON取决于pom.xml 我的根上下文在这里- … servlet-context.xml 控制器。 在我的DAO中找到findAll: 在调试中,我看到该方法返回2条记录,但是Spring无法将结果转换为JSON并返回406 HTTP错误。怎么了? 我附上我在调试中看到的图像。- http:

  • 问题内容: 我有一个使用hibernate和注解的j2ee应用程序。我如何注释我的pojo类中的Id字段以将其设置为自动增量或自动生成。在添加bean时,我是否将该字段留在bean中为null? 问题答案: 并在保留时将其保留为()。(如果使用/ 包装器) 在某些情况下,该策略被解析为to 或to ,因此您可能需要手动将其设置为or (取决于基础数据库)。 似乎 + 指定序列名称 对您有用。

  • 问题内容: 我们的数据模型分为两个数据库上的架构。这些模式是隔离使用的,除了在两者之间桥接的一些单键关系。没有跨两个数据库的写事务。 与这个问题类似,我们要使用Hibernate在不同数据库中的2个表上进行联接,我们想使用Hibernate来处理实体的联接。我们不能使用数据库解决方案(DB2上的联合视图)。 我们为Hibernate设置了两个单独的数据库配置(“医生”和“病人”),当使用DAO显式

  • 问题内容: 目前,Hibernate允许我直接使用*对一关系定义的对象 是否可以获取外键而不是对象? 我看到的当前方法是在映射中添加addint: 是否有更好的方法来获取外键,或者这是唯一的方法? 问题答案: 是的,你可以这样做。您只需要清楚地告诉休眠状态,哪一个是应该维护的映射,如下所示:

  • 问题内容: 能否请您告诉我,我如何才能很好地为Hibernate实体启用Spring自动装配? 假设我有一个实体,并希望在那里有邮件发送者: 有没有比做的更好的方法 在我的DAO中? 谢谢! 问题答案: 有可能的!(这是Spring Roo中的默认样式!) 您所需要做的就是将@Configurable批注添加到您的实体。在配置中并使用AspectJ编织激活注释。 Spring参考中有一章:7.8.