ll_feng 2009-03-30 13:42
浏览 418
已采纳

一个困扰N天的问题:Unknown entity

用maven整合ssh2.遇到一个问题。在对实体做持久化时报错:
org.springframework.orm.hibernate3.HibernateSystemException: Unknown entity: cn.lvlf.ssh.demo.model.User...
...
Caused by: org.hibernate.MappingException: Unknown entity: cn.lvlf.ssh.demo.model.User...
...

下面将代码贴出来希望能有人指点一下。不胜感谢!
applicationContext.xml:
[code="java"]
...










${hibernate.dialect}

false

org.hibernate.cache.EhCacheProvider

true





cn.lvlf.ssh.demo.model.*




...
[/code]

User.java
[code="java"]
package cn.lvlf.ssh.demo.model;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

@Entity
@Table(name = "t_user")
public class User implements java.io.Serializable {

private Long id;
private String name;
private String password;

public User() {
}

public User(String name, String password) {
    this.name = name;
    this.password = password;
}

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id", unique = true, nullable = false)
public Long getId() {
    return this.id;
}

public void setId(Long id) {
    this.id = id;
}

@Column(name = "name")
public String getName() {
    return this.name;
}

public void setName(String name) {
    this.name = name;
}

@Column(name = "password")
public String getPassword() {
    return this.password;
}

public void setPassword(String password) {
    this.password = password;
}

}
[/code]

数据库(MySql的):
t_user:
+----------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| name | varchar(255) | YES | | NULL | |
| password | varchar(255) | YES | | NULL | |
+----------+--------------+------+-----+---------+----------------+

测试代码:
DaoTest.java
[code="java"]
public class DaoTest {

@Test
public void testUserDao(){
    AbstractApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
    UserDao userDao = (UserDao)ctx.getBean("userDao");
    cn.lvlf.ssh.demo.model.User user = new User("zhangsan","sssss");
    userDao.saveUser(user);

    List<User> users = userDao.getAllUsers();
    Assert.assertTrue(users.size()>0);
}

}
[/code]

  • 写回答

2条回答 默认 最新

  • qq_123 2009-03-30 15:57
    关注

    可能是路径问题
    例如:
    你的实体存放目录是com.ss3.demo.entity.test,里面存放着很多实体类。
    但是你的packagesToScan就要写成com.ss3.demo.entity.*,千万不要写成com.ss3.demo.entity.test.*,否则不会被映射,换句话说就是配置映射目录要比实际少一层就可以了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?