使用hiberateTemplate的save方法时有异常

实体类
[code="java"]
@Entity
public class Category {
private int id;
private String name;

@Id
@GeneratedValue
public int getId() {
    return id;
}
public void setId(int id) {
    this.id = id;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}

}
[/code]

Dao层:
[code="java"]
@Component("categoryDao")
public class CategoryDaoImpl implements CategoryDao {

private HibernateTemplate hibernateTemplate;

public void save(Category o) {
    hibernateTemplate.save(0);
}

public HibernateTemplate getHibernateTemplate() {
    return hibernateTemplate;
}

@Resource
public void setHibernateTemplate(HibernateTemplate hibernateTemplate) {
    this.hibernateTemplate = hibernateTemplate;
}

}

[/code]
通过Service 层测试:
[code="java"]
@Test
public void testAdd() {
Category category = new Category();
category.setName("c2");
categoryService.add(category);
}
[/code]

异常:
[code="java"]
org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: java.lang.Integer; nested exception is org.hibernate.MappingException: Unknown entity: java.lang.Integer

[/code]

网上查了很久,没结果,郁闷

3个回答

[quote]categoryService[/quote]

这个对象是从spring 容器里面拿出来的!
还自己new的哦!

[quote] hibernateTemplate.save(0); [/quote]
改成成

hibernateTemplate.save(new Integer(0)); 应该没问题了! 试试! :wink:

吧int改成Integer

你看一下配置文件中的数据类型,应该和实体类中的一致才可以

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐