Nim*_*sky 1 java spring hibernate intellij-idea
我在我的Entity对象中收到以下消息?
基本属性类型不应该是IDao
在哪里使用这样:
@Entity
@Table
public final class MyEnity {
@Resource(name = "Dao")
private IDao dao;
Run Code Online (Sandbox Code Playgroud)
我知道这个名字很糟糕,但是将我的Dao(带有存储库注释)注入我的注释为hibernate实体的Domain对象有什么问题?IDao是由Dao类实现的接口......
IDao
似乎是一个处理元素注入实体,你不打算坚持它.如果是这样,您应该将其标记为transient
以便ORM在实体的CRUD操作期间忽略它.
@Resource(name = "Dao")
private transient IDao dao;
Run Code Online (Sandbox Code Playgroud)
顺便说一句,我看不到你的实体@Configurable
.你打算如何dao
注入它?ORM将MyEntity
使用默认的constrcutor 创建一个新的类型对象,并调用setter来设置数据库中的值.你IDao dao
不会被注入,因为这样的实例不是一个弹簧管理的bean.您必须标记MyEntity
为@Configurable
使其受弹簧管理,以便使用new
运算符创建的实例将获取注入的资源.
归档时间: |
|
查看次数: |
4665 次 |
最近记录: |