Hibernate many to one 的问题

zxianrong 2007-08-09 08:22:47
怎么找也找不出错误啊
请各位高手帮忙
代码如下
package com.zhuang;
import java.sql.Date;
public class Order {
private int id;

private double price;
private Date date;
private User user;

public Order(){}
public Order(double price ,User user){
this.price=price;
this.user=user;
}

public int getId() {
return id;
}
private void setId(int id) {
this.id = id;
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public Date getDate() {
return date;
}
public void setDate(Date date) {
this.date = date;
}
public void setUser(User user){
this.user=user;
}
public User getUser(){
return user;
}

}

package com.zhuang;

import java.util.HashSet;
import java.util.Set;

public class User {
private int id;
private String username;
private int password;
private Set orders=new HashSet();

public User(String username,int password,Set orders){
this.username=username;
this.password=password;
this.orders=orders;
}
public User(){}

public void setOrders(Set orders){
this.orders=orders;
}
public Set getOrders(){
return orders;
}



public int getId() {
return id;
}
private void setId(int id) {
this.id = id;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public int getPassword() {
return password;
}
public void setPassword(int password) {
this.password = password;
}

}


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

<hibernate-mapping>
<class name="com.zhuang.Order" table="ORDERTABLE" >
<id name="id" column="ID">
<generator class="uuid.hex"/>
</id>
<property name="price" column="PRICE" type="double"></property>
<property name="date" column="DATE" type="date"></property>


<!-- <many-to-one name="user"
column="USERID"
class="com.zhuang.User"
cascade="all"
not-null="true"></many-to-one>
-->
</class>
</hibernate-mapping>


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.zhuang.User" table="USERTABLE">
<id name="id" column="ID">
<generator class="uuid.hex"/>
</id>
<property name="username" column="USERNAME" type="string" ></property>
<property name="password" column="PASSWORD" type="int" ></property>

<set name="orders"
cascade="save-update"
inverse="true">
<key column="USERID"/>
<one-to-many class="com.zhuang.Order"/>
</set>

</class>
</hibernate-mapping>

package com.Test;
import java.sql.Date;
import java.util.HashSet;
import java.util.List;



import com.zhuang.*;
import net.sf.*;
import net.sf.hibernate.*;
import net.sf.hibernate.cfg.Configuration;

public class Test {

public static void main(String []args){
try{
SessionFactory sf;
Configuration config=new Configuration();
sf=config.configure().buildSessionFactory();
Session session=sf.openSession();
Transaction tr=session.beginTransaction();
System.out.println("aaaaaaaaaaaaaaaaaaaaaaaa");

User user=(User)session.get(User.class, 2);
Order order1=new Order();
order1.setUser(user);

user.getOrders().add(order1);

session.update(user);

tr.commit();
System.out.println("bbbbbbbbbbbbbbbbbbbbbbbb");
session.close();
}catch(Exception e)
{
e.printStackTrace();
}

}


}


出现错误
log4j:WARN No appenders could be found for logger (net.sf.hibernate.cfg.Environment).
log4j:WARN Please initialize the log4j system properly.
aaaaaaaaaaaaaaaaaaaaaaaa
Hibernate: select user0_.ID as ID0_, user0_.USERNAME as USERNAME0_, user0_.PASSWORD as PASSWORD0_ from USERTABLE user0_ where user0_.ID=?
Hibernate: select orders0_.USERID as USERID__, orders0_.ID as ID__, orders0_.ID as ID0_, orders0_.PRICE as PRICE0_, orders0_.DATE as DATE0_ from ORDERTABLE orders0_ where orders0_.USERID=?
Hibernate: update ORDERTABLE set PRICE=?, DATE=? where ID=?
net.sf.hibernate.HibernateException: SQL insert, update or delete failed (row not found)
at net.sf.hibernate.impl.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:25)
at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:661)
at net.sf.hibernate.persister.EntityPersister.update(EntityPersister.java:621)
at net.sf.hibernate.impl.ScheduledUpdate.execute(ScheduledUpdate.java:52)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2449)
at net.sf.hibernate.impl.SessionImpl.executeAll(SessionImpl.java:2435)
at net.sf.hibernate.impl.SessionImpl.execute(SessionImpl.java:2393)
at net.sf.hibernate.impl.SessionImpl.flush(SessionImpl.java:2261)
at net.sf.hibernate.transaction.JDBCTransaction.commit(JDBCTransaction.java:61)
at com.Test.Test.main(Test.java:62)








...全文
333 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
kongxuzhoumo0 2007-10-29
  • 打赏
  • 举报
回复
src下加一个log4j.properties文件
还有你的属性和表里面的不对应
内容概要:本文围绕基于三电平ANPC构网型逆变器的虚拟同步控制策略展开研究,重点探讨了其在Simulink环境下的仿真实现方法。研究聚焦于虚拟同步发电机(VSG)控制、双闭环控制及中点电位平衡控制等核心技术,旨在提升高渗透率新能源背景下逆变器的惯量支撑能力和电能质量。通过构建详细的系统模型,提出并优化控制策略,有效解决了三电平逆变器在动态响应、稳定性及中点电压波动等方面的挑战,增强了系统对复杂电网工况的适应能力。研究进一步结合VSG的虚拟惯量与阻尼特性,实现对电网频率波动的有效抑制,并通过双闭环结构提升电流跟踪精度与功率调节性能,同时引入中点电位平衡控制策略,确保多电平拓扑输出电压对称性与可靠性。; 适合人群:具备电力电子、自动控制或新能源发电相关背景,从事科研或工程开发的研发人员,尤其是关注构网型逆变器、虚拟同步技术及多电平拓扑控制的研究生与工程师。; 使用场景及目标:①应用于新能源并网系统中构网型逆变器的设计与仿真;②为提升电力系统稳定性提供虚拟同步控制方案;③实现三电平ANPC逆变器中点电位的有效平衡与动态性能优化; 阅读建议:建议结合Simulink仿真模型进行实践操作,重点关注控制策略的实现细节与参数整定过程,同时可参考文中提到的双闭环结构与VSG控制逻辑进行扩展研究。

67,535

社区成员

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

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