[英]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.