日期:2014-05-20  浏览次数:20655 次

Struts2 action的属性 接收值问题
Java code

public class UserAction extends ActionSupport {

    private User user;

    private UserDao userDao;
    
    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
    
    public String save() {
        userDao.save(user);
        return SUCCESS;
    }

    public void setUserDao(UserDao userDao) {
        this.userDao = userDao;
    }


Java code
public class User implements Serializable {
    private static final long serialVersionUID = -966101986208807450L;
    
    private Long userId;
    private String userName;




    public User() {
    }


    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }    
}

页面提交到ACTION得参数是 user.userName=a  
执行userDao.save(user);时抛错:
org.hibernate.MappingException: Unknown entity: com.ylzinfo.msw.app.domain.User$$EnhancerByCGLIB$$64c0be74

HBM.XML配置我都检查过了 我在JUNIT里通过NEW 创建的USER对象能正常保存 就是通过STRUTS2 接收生成的USER对象是CGLIB这种形式的都保存不了 怎么让STRUTS2不产生CGLIB这种对象啊 ACTION是交给SPRING托管的

------解决方案--------------------
spring没和hibernate整合?
------解决方案--------------------
ssh的不懂。帮顶。
------解决方案--------------------
SSH整合了
------解决方案--------------------
是不是在hibernate.cfg.xml中没有加入"xx.hbm.xml"。

下面这句配置有么?
<mapping resource="xx/xx.hbm.xml" />


------解决方案--------------------
这问题出现的原因,一般是下面几种情况吧、
1.映射文件的名字是否和你的pojo(*.java)的名字是否相同。
2.映射文件的名字是*.hbm.xml而不是*.xml
3.你是否加载了你的映射文件。
------解决方案--------------------
CGLIB包是用来动态代理的!跟那个没多大关系!看看你的配置文件或者是不是少包?
------解决方案--------------------
实体类,spring没有映射上,你配置的路径可能有问题
------解决方案--------------------
JScript code

JSP上写一个hidden
<hidden name="user.userId" value="${user.userId}"/>

------解决方案--------------------
不是hibernate的问题.是struts.xml配置与springContext.xml两个关联的配置问题...就是你的userDao没有被注入进对象...把这两个配置文件贴来看下...
------解决方案--------------------
com.ylzinfo.msw.app.domain.User$$EnhancerByCGLIB$$64c0be74

userDao.save(user);org.hibernate.MappingException: Unknown entity

其中user是得对象不认识,debug看看user里面到底是什么