繁体   English   中英

基本属性类型不应为IDao-intellij消息

[英]Basic attribute type should not be IDao - intellij message

我在Entity对象中收到以下消息?

基本属性类型不应为IDao

像这样使用它的地方:

@Entity
@Table
public final class MyEnity {

    @Resource(name = "Dao")
    private IDao dao;

我知道这个名字不好,但是将我的Dao(注有存储库)注入到注解为休眠实体的Domain对象中又是什么问题呢? IDao是由Dao类实现的接口...

IDao似乎是注入到实体中的处理元素,并且您不打算保留它。 如果是这样,则应将其标记为transient以便ORM在对实体执行CRUD操作期间将其忽略。

@Resource(name = "Dao")
private transient IDao dao;

顺便说一句,我看不到您的实体是@Configurable 您如何计划将dao注入其中? ORM MyEntity使用默认构造函数创建类型为MyEntity的新对象,并调用设置器以从数据库中设置值。 您的IDao dao将不会被注入,因为这样的实例不是spring-managed bean。 您必须将MyEntity标记为@Configurable以使其能够进行弹簧管理,以便使用new运算符创建的实例将获得资源注入。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM