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

一个困扰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条)

报告相同问题?

悬赏问题

  • ¥20 Python安装cvxpy库出问题
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 矩阵加法的规则是两个矩阵中对应位置的数的绝对值进行加和
  • ¥15 活动选择题。最多可以参加几个项目?
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题