hibernate高手请进,exception setting property value with CGLIB 问题

yangyijieyyj 2005-12-08 06:06:50
表间关系如下:
-- Create table
create table T_TOPIC_APPLIED
(
BOOTHS INTEGER,
SPACE NUMBER(5,1),
TOPICID NUMBER(10) not null,
TOPICAPPLIEDID NUMBER(10) not null,
USERID NUMBER(10) not null,
EXPOID NUMBER(10) not null
)
tablespace EXPO
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table T_TOPIC_APPLIED
add primary key (TOPICAPPLIEDID)
using index
tablespace EXPO
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
alter table T_TOPIC_APPLIED
add constraint FK_TOPIC_APPLIED_1 foreign key (EXPOID)
references T_EXPO (EXPOID) on delete cascade;
alter table T_TOPIC_APPLIED
add foreign key (TOPICID)
references T_EXPO_TOPIC (TOPICID) on delete cascade;
alter table T_TOPIC_APPLIED
add foreign key (USERID)
references T_USER (USERID) on delete cascade;


-- Create table
create table T_TOPIC_ITEM_APPLIED
(
ITEMAPPLIEDID NUMBER(10) not null,
ITEMID NUMBER(10) not null,
TOPICAPPLIEDID NUMBER(10) not null
)
tablespace EXPO
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
-- Create/Recreate primary, unique and foreign key constraints
alter table T_TOPIC_ITEM_APPLIED
add primary key (ITEMAPPLIEDID)
using index
tablespace EXPO
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
minextents 1
maxextents unlimited
);
alter table T_TOPIC_ITEM_APPLIED
add foreign key (TOPICAPPLIEDID)
references T_TOPIC_APPLIED (TOPICAPPLIEDID) on delete cascade;
alter table T_TOPIC_ITEM_APPLIED
add foreign key (ITEMID)
references T_TOPIC_ITEM (ITEMID) on delete cascade;

hibernate配置如下:
<?xml version="1.0" encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

<!-- DO NOT EDIT: This is a generated file that is synchronized -->
<!-- by MyEclipse Hibernate tool integration. -->
<!-- Created Mon Nov 21 15:05:29 CST 2005 -->
<hibernate-mapping package="org.caexpo.expo.model">

<class
name="TTopicApplied"
table="T_TOPIC_APPLIED"
dynamic-insert="true"
dynamic-update="true"
>

<id name="topicappliedid" column="TOPICAPPLIEDID" type="long">
<generator class="sequence">
<param name="sequence">S_TOPIC_APPLIED</param>
</generator>
</id>

<property name="booths" column="BOOTHS" type="int" />
<property name="space" column="SPACE" type="double" />

<many-to-one name="expoTopic" column="TOPICID" class="TExpoTopic" not-null="true"/>
<many-to-one name="expo" column="EXPOID" class="TExpo" not-null="true"/>
<many-to-one name="user" column="USERID" class="TUser" not-null="true"/>

<set name="topicItemAppliedSet" inverse="true" lazy="true">
<key column="TOPICAPPLIEDID"/>
<one-to-many class="TTopicItemApplied"/>
</set>


</class>

</hibernate-mapping>

<?xml version="1.0" encoding='UTF-8'?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >

<!-- DO NOT EDIT: This is a generated file that is synchronized -->
<!-- by MyEclipse Hibernate tool integration. -->
<!-- Created Mon Nov 21 15:05:29 CST 2005 -->
<hibernate-mapping package="org.caexpo.expo.model">

<class name="TTopicItemApplied" table="T_TOPIC_ITEM_APPLIED">

<id name="itemappliedid" column="ITEMAPPLIEDID" type="long">
<generator class="sequence">
<param name="sequence">S_TOPIC_ITEM_APPLIED</param>
</generator>
</id>

<many-to-one name="topicApplied" column="TOPICAPPLIEDID" class="TTopicApplied" not-null="true"/>
<many-to-one name="topicItem" column="ITEMID" class="TTopicItem" not-null="true"/>
</class>

</hibernate-mapping>

执行查询语句HQL:
from TTopicApplied as a

当数据库中T_TOPIC_APPLIED有数据时程序出现问题:
javax.servlet.ServletException: [BaseAction->execute] Error, message = exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of org.caexpo.expo.model.TTopicApplied.setTopicItemAppliedSet
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1063)
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:263)
org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:386)
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:318)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:229)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.caexpo.encoding.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:88)
org.caexpo.encoding.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:88)

但数据库中T_TOPIC_APPLIED的没有数据时正常.
...全文
207 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
SDMRauquin 2006-02-18
  • 打赏
  • 举报
回复
的确乱,没有合适的开发框架,所以简单的说明就可以了。
因该是Set错了,改成
<many-to-one name="topicItem" column="ITEMID" class="TTopicItem" not-null="true"/ lazy="false" cascade="all"> 试下。
yashucn 2005-12-08
  • 打赏
  • 举报
回复
太乱 感觉是foreignkey的配置问题

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧