hiberante报空异常

u011076024 2014-07-26 02:50:02

电影
package cn.demo.entity;

import java.io.Serializable;

import cn.demo.entity.MovieType;

public class Movie implements Serializable {

private int Id;
private String Name;
private MovieType TypeId;
private String Actor;
private String Director;
private int Price;

public int getId() {
return Id;
}
public void setId(int id) {
Id = id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}

public String getActor() {
return Actor;
}
public void setActor(String actor) {
Actor = actor;
}
public String getDirector() {
return Director;
}
public void setDirector(String director) {
Director = director;
}
public int getPrice() {
return Price;
}
public void setPrice(int price) {
Price = price;
}
public MovieType getTypeId() {
return TypeId;
}
public void setTypeId(MovieType typeId) {
TypeId = typeId;
}

}

映射文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0 //EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>

<class name="cn.demo.entity.Movie" table="movie" dynamic-update="true">

<id name="Id" type="java.lang.Integer" column="id">
<generator class="increment"></generator>
</id>

<property name="Name" type="java.lang.String" column="name"/>
<property name="Actor" type="java.lang.String" column="actor"/>
<property name="Director" type="java.lang.String" column="director"/>
<property name="Price" type="java.lang.Integer" column="price"/>
<many-to-one name="TypeId"
column="type_id"
class="cn.demo.entity.MovieType"
/>
</class>
</hibernate-mapping>

电影类型
package cn.demo.entity;

public class MovieType {
private int Type_Id;
private String Name;

public int getType_Id() {
return Type_Id;
}
public void setType_Id(int type_Id) {
Type_Id = type_Id;
}
public String getName() {
return Name;
}
public void setName(String name) {
Name = name;
}

}

映射文件
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0 //EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>

<class name="cn.demo.entity.MovieType" table="movie_type" dynamic-update="true">

<id name="Type_Id" type="java.lang.Integer" column="type_id">
<generator class="increment"></generator>
</id>

<property name="Name" type="java.lang.String" column="name"/>

</class>
</hibernate-mapping>

测试类
package cn.demo.dao;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;

import cn.demo.entity.Movie;
import cn.demo.entity.MovieType;

public class MovieDao {

Configuration conf=null;
SessionFactory sf=null;
Session session=null;
Transaction tx=null;
public void add(){
try{
conf=new Configuration().configure();
sf=conf.buildSessionFactory();
session=sf.openSession();
MovieType mt=(MovieType)session.load(MovieType.class, 1);
Movie m=new Movie();
m.setId(4);
m.setName("逃学威龙");
m.setPrice(60);
m.setDirector("于晟");
m.setActor("周星驰");
m.setTypeId(mt);
session.save(m);
tx.commit();
System.out.println("OK");
}catch(Exception e){
e.printStackTrace();
tx.rollback();
System.out.println("No");
}
}
}

运行后异常


问下怎么解决
...全文
60 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
u011076024 2014-07-26
  • 打赏
  • 举报
回复
谢谢 ,这问题困我一早上了
小灯光环 2014-07-26
  • 打赏
  • 举报
回复
tx对象是null。 在你的方法里写tx=session.beginTransaction();

62,612

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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