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

Hibernate实体自动连线

朱炜
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实体启用Spring自动装配? 假设我有一个实体,并希望在那里有邮件发送者: 有没有比做的更好的方法 在我的DAO中? 谢谢! 问题答案: 有可能的!(这是Spring Roo中的默认样式!) 您所需要做的就是将@Configurable批注添加到您的实体。在配置中并使用AspectJ编织激活注释。 Spring参考中有一章:7.8.

  • 我对spring boot相当陌生,正在尝试使用Java持久性API hibernate mySQL持久性层构建spring boot应用程序。但当我试图使用entityManager获取所有记录时。createNamedQuery(“从学生s中选择*”,学生.class)。getResultList()它给了我以下异常。 Java语言lang.IllegalArgumentException:未

  • AnsprechPartner Lieferant ansprechpartner.java lieferant.java 在我的AnsprechPartner.java中,我是这样做的: 在我的Lieferanten.java中,我是这样做的:

  • 我正在尝试删除一个父/子自连接实体,但无法这样做,这里是我的映射

  • 问题内容: 我有以下实体类(在Groovy中): and my persistence.xml: and the script: 数据库Icarus存在,但当前没有表。我希望Hibernate基于实体类自动创建和/或更新表。我将如何完成? 问题答案: 我不知道离开前线是否会有所作为。 该参考表明,它应该是 值为将会在创建时创建表,并保持它们不变。 值为会创建你的表,然后在关闭sessionFact

  • 环顾四周后,我找不到解决这个问题的好办法。 我的自动连线没有按预期工作,返回null。我已经在其他类中自动连接了这个特定的类,它可以工作,所以它只在constraintvalidator类中不工作。 UserService类 注释接口类 注释逻辑类。这里的自动连线返回null 主要的 编辑:尝试@Componenet