论坛首页 Java企业应用论坛

这该怎么办

浏览 3786 次
锁定老帖子 主题:这该怎么办
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2004-03-15  
表Test
testid int identity primary key
test text

表Question
questionid int identity primary key
question

表TestQuestion
id int identity primary key
testid int
questionid int


TestQuestion.hbm.xml配置
  <class name="com.pip.wap.mode.bean.TestQuestion" table="t_q_relation">
    <id name="id" column="id" type="long">
      <generator class="identity"/>
    </id>
    <!--这里面如果去掉注释,就提示说Repeated column mapping of TestQuestion,去掉就没问题
    <property name="testId" column="testid" type="java.lang.String"/>
    <property name="questionId" column="questionid" type="long"/>
-->
    <many-to-one name="question" class="com.pip.wap.mode.bean.Question" column="questionid"/>
    <many-to-one name="test" class="com.pip.wap.mode.bean.Test" column="testid"/>
  </class>

我想知道,
1。上面注释中的问题怎么解释?不太理解!还有在<many-to-one标记最后的column="questionid"属性指的字段是TestQuestion表的还是
Question表的questionid字段。
2。如果不去掉上面的注释,当我运行下面语句:
select t.test,q.question,q.questionId
from Test t,TestQuestion tq,Question q
where t.testId=tq.testId and tq.questionId=q.questionId and t.testId='0001'
就提示:can't resolve t1.test.testId property
   发表时间:2004-03-15  
大家帮帮我呀,谢谢了
0 请登录后投票
   发表时间:2004-03-15  
你注释的内容要是不被注释当让会出错啦! 已经定义了一个列,下面多对一有定义一个相同的列名,当然repeat啦
0 请登录后投票
   发表时间:2004-03-15  
设置testId、questionId属性update="false",insert ="false"

其实例子在参考手册上都有,看看就知道了:P
0 请登录后投票
   发表时间:2004-03-15  
winterchipmunk 写道
设置testId、questionId属性update="false",insert ="false"

其实例子在参考手册上都有,看看就知道了:P
0 请登录后投票
   发表时间:2004-03-16  
设置这2个属性的意思是,不自己设置这2个属性所在的property,而通过其他方法设置。比如你这个例子中,就是通过many-to-one来设置这个property。

btw:many-to-one的column指的是当前表的字段。

我后来看了看,我说的例子是hiberante网站上推荐的一个例子,非常之清晰。
0 请登录后投票
   发表时间:2004-03-16  
就是就是
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics