在保存Score之前先将Student保存~
解决方案 »
- Struts2的日期控件datetimepicker 去掉默认的时间
- 写第一个hibernate例子时遇到问题,求高手解答
- spring2.0 struts2.0 hibernate3.1 extjs组合登陆问题
- 急需技术人员!
- 有关如何从数据库去判断email是否存在的问题!
- 把网线拔掉几分钟后再连上,hibernate就再也不能连接到数据库,这个问题怎么解决???
- 为什么我的系统里运行j2ee or javaee命令时系统提示是“无效命令”?
- tomcat Java heap space 问题,急!!!
- ●关于Struts!我只是想logic:iterate来循环显示我的列表
- 请高手帮忙?快,我在线!
- 如何取其他网站取数据
- 关于struts中上传文件,在服务器取得文件名为乱码的问题!
<column name="id" not-null="true" />
<generator class="native" />
</id>但是你定义的明明id是主键啊
===========================
就是存入数据库啊,在往数据库里添加Score之前先要添加Student,另外你的表的映射也有点问题,<id/>好象要对应主键的
其实,我开始的设想是把主键个自动标示分开,
<generator class="native" />这个属性只能放在<id/>里,但我的StuNo是String型,
又不能弄自动增长,而我也不希望他这样有其他的办法吗,我的Hibernate学的太浅了
StuNo放在<id>里,但<generator class="native" />只能放在<id>里
因为根据实际的需求:标示列是没有任何意义的字段,所以我才尝试怎样实现这种配置
你的Score表里面哪个是主键啊?
只要有主键,也就是<id>就可以了。
我感觉自己好晕啊
在Score表里id是主键并且还是自增长列,StuNo是外键,是这样的吗?先理解清楚
我估计走了弯路,现在想想根本就没必要在配置文件里管那个不是主键的student表里的自增长列
是吗?
<hibernate-mapping>
<class name="com.Score" table="score" schema="dbo" catalog="pubs">
<id name="id" type="java.lang.Integer">
<column name="id" />
<generator class="native" />
</id>
<many-to-one name="studentTable" class="com.StudentTable" fetch="select">
<column name="stuNo" length="10" />
</many-to-one>
<property name="score" type="java.lang.Float">
<column name="score" precision="53" scale="0" />
</property>
</class>
</hibernate-mapping>StudentTable表的映射文件:
<hibernate-mapping>
<class name="com.StudentTable" table="studentTable" schema="dbo" catalog="pubs">
<id name="stuNo" type="java.lang.String" >
<column name="stuNo" not-null="true" length="10" />
<generator class="native" />
</id>
<property name="id" type="java.lang.Integer">
<column name="id"/>
</property>
<property name="stuName" type="java.lang.String">
<column name="stuName" length="10" />
</property>
<set name="scores" inverse="true">
<key>
<column name="stuNo" length="10" />
</key>
<one-to-many class="com.Score" />
</set>
</class>
</hibernate-mapping>
试试吧,^_^
<column name="stuNo" not-null="true" length="10" />
<generator class="native" />
</id>
stuNo是String,不能设为自增长呀
当然你可以让HIBERNATE采用算法自动生产string类型的主键
记得好像配置文件里边的主键生产策略有6种还是9种方法..其中有个就是
自动生产string类型的主键值