我只知道goodok.PersonBean.addPerson(PersonBean.java:32)personbean中第32行开始错了,估计是不是author和person的添加顺序错了?因为看见:Hibernate: insert into author (alias, id) values (?, ?)
Hibernate: update person set name=?, email=? where id=?如果不对不要怪我,呵呵,能不能把相关代码贴出来??
Hibernate: update person set name=?, email=? where id=?如果不对不要怪我,呵呵,能不能把相关代码贴出来??
解决方案 »
- 关于缓存使用的几个疑问
- 请问如何在一个类中,定义另一个类,多谢!!!!
- 如何批量解析xml数据保存到oracle数据库中
- 权限管理应该怎么写呢
- 小弟想看看struts2的源码 希望有经验的人 给个好的学习策略
- jFreeChart问题100分
- 关于struts的问题!!!求教阿!!!!
- hibernate如何使用jndi来连接oracle数据库
- j2ee API Document 有下载版的吗?
- Jboss+tomcat+mysql运行client 得错误,大侠们帮我看看了:)
- hibernate的one-to-one 的问题??????
- tomcat 运行一段时间后总是很慢,重启后速度才上去,过一天后又很慢,看LOG也没有报错,请高手帮忙
<%@ page import="java.io.*,java.util.*,goodok.Author,goodok.Person"%>
<jsp:useBean id="pb" class="goodok.PersonBean" scope="page"/>
<body bgcolor="#ffffff">
<%
String name=request.getParameter("name");
String email=request.getParameter("email");
String alias=request.getParameter("alias");
//person
Person person=new Person();
person.setName(name);
person.setEmail(email); //author
Author author=new Author();
author.setAlias(alias);
author.setPerson(person);
//操作
pb.addPerson(author);
%>
主键关联
惟一外键关联
主键关联不需要额外的表字段;两行是通过这种一对一关系相关联的,那么这两行就共享同样的主关键字值。所以如果你希望两个对象通过主键一对一关联,你必须确认它们被赋予同样的标识值!
比如说,对下面的Employee和Person进行主键一对一关联:
<one-to-one name="person" class="Person"/>
<one-to-one name="employee" class="Employee" constrained="true"/>
现在我们必须确保PERSON和EMPLOYEE中相关的字段是相等的。我们使用一个特别的称为foreign的Hibernate标识符生成器策略:
<class name="person" table="PERSON">
<id name="id" column="PERSON_ID">
<generator class="foreign">
<param name="property">employee</param>
</generator>
</id>
...
<one-to-one name="employee"
class="Employee"
constrained="true"/>
</class>
一个刚刚保存的Person实例被赋予和该Person的employee属性所指向的Employee实例同样的关键字值。
用foreign生成器试试。
<many-to-one name="person" class="Person" column="PERSON_ID" unique="true"/>
如果在Person的映射加入下面几句,这种关联就是双向的:
<one-to-one name"employee" class="Employee" property-ref="person"/>这是第二种方式。
且看两种方式都需要在两边的映射文件里书写关系,第一种是两个one to one, 第二种是一个是many to one,一个是One to one。而你的person表的映射文件里却没有对Author表的关联描述。