All pastes #279007 Raw Edit

Tomasso

public text v1 · immutable
·published 2006-12-14 16:42 UTC
rendered paste body
I have the following mysql table:
---------------------------------

ID_MARK		BIGINT(20)	NOT NULL
MARK		TINYINT(1)  	NOT NULL
COMMENT		VARCHAR(2048) 	NOT NULL
ID_PRODUCT	INTEGER		NOT NULL
	

And the following java class:
-----------------------------


package model;

import java.io.Serializable;



/**
 * 
 * 
 */
public class Mark implements Serializable{

/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	/**
 * <p>Represents ...</p>
 * 
 */
    private Short mark;
    
    private long idMark;
    
    private Integer idProduct;

/**
 * <p>Represents ...</p>
 * 
 */
    private String comment;
    
    
    
    public String getComment() {
	return comment;
}

public void setComment(String comment) {
	this.comment = comment;
}

public Integer getIdProduct() {
	return idProduct;
}

public void setIdProduct(Integer idProduct) {
	this.idProduct = idProduct;
}

public Short getMark() {
	return mark;
}

public void setMark(Short mark) {
	this.mark = mark;
}

public long getIdMark() {
	return idMark;
}

public void setIdMark(long idMark) {
	this.idMark = idMark;
}
 }


When I map from the table to the class in the following way:
-----------------------------------------------------------


<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!-- 
    Mapping file autogenerated by MyEclipse - Hibernate Tools
-->
<hibernate-mapping>
    <class name="model.Mark" table="marks" catalog="rateyourproduct">
        <id name="idMark" type="long" column="ID_MARK">
            <generator class="hilo"/>
        </id>
        <property name="mark" type="java.lang.Short">
            <column name="MARK" not-null="true" />
        </property>
        <property name="comment" type="java.lang.String">
            <column name="COMMENT" length="65535" ></column>
        </property>
        <many-to-one name="idProduct" class="model.Product">
        	<column name="ID_PRODUCT"></column>
        </many-to-one>
    </class>
</hibernate-mapping>


I get the following error:
--------------------------


HTTP Status 500 -

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: Exception in JSP: /browseResult.jsp:50

47: 			<font face="arial black" size=5 style="bold">
48:   			    <bean:message key="RYP.buyable"/>
49:   			</font>
50:   			<libListQueryResults:viewPositiveAndNegativeMarks/>
51: 	  		<br/>
52:   			<br/>		
53: 	


Stacktrace:
	org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:506)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:395)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

root cause

org.hibernate.PropertyAccessException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of model.Mark.setIdProduct
	org.hibernate.tuple.PojoEntityTuplizer.setPropertyValuesWithOptimizer(PojoEntityTuplizer.java:215)
	org.hibernate.tuple.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:185)
	org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3232)
	org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:129)
	org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:842)
	org.hibernate.loader.Loader.doQuery(Loader.java:717)
	org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
	org.hibernate.loader.Loader.doList(Loader.java:2145)
	org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2029)
	org.hibernate.loader.Loader.list(Loader.java:2024)
	org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:111)
	org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1655)
	org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:142)
	org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:164)
	model.ProductFinder.getMarksFor(ProductFinder.java:79)
	taglib.ViewPositiveAndNegativeMarks.doStartTag(ViewPositiveAndNegativeMarks.java:22)
	org.apache.jsp.browseResult_jsp._jspx_meth_libListQueryResults_viewPositiveAndNegativeMarks_0(browseResult_jsp.java:240)
	org.apache.jsp.browseResult_jsp._jspService(browseResult_jsp.java:123)
	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
	org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069)
	org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455)
	org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
	org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

note The full stack trace of the root cause is available in the Apache Tomcat/5.5.20 logs.
Apache Tomcat/5.5.20