用Hibernate的话只要有外健关联就行import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import junit.framework.TestCase;public class CascadeTest extends TestCase { public CascadeTest(String name) {
super(name);
} Session session = null; protected void setUp() {
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
session = sessionFactory.openSession();
} protected void tearDown() {
session.close();
} public void testInsert() {
Transaction trans = null;
Tuser1 user = new Tuser1();
user.setAge(20);
user.setName("allen");
Tpassport passport = new Tpassport();
passport.setSerial("CP20080912");
passport.setExpiry(20090101);
user.setPassport(passport);
passport.setUser(user);
trans = session.beginTransaction();
session.save(user);
trans.commit(); }运行完后会在映射的t_user1及t_passport表内分别插入一条数据
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
import junit.framework.TestCase;public class CascadeTest extends TestCase { public CascadeTest(String name) {
super(name);
} Session session = null; protected void setUp() {
Configuration config = new Configuration().configure();
SessionFactory sessionFactory = config.buildSessionFactory();
session = sessionFactory.openSession();
} protected void tearDown() {
session.close();
} public void testInsert() {
Transaction trans = null;
Tuser1 user = new Tuser1();
user.setAge(20);
user.setName("allen");
Tpassport passport = new Tpassport();
passport.setSerial("CP20080912");
passport.setExpiry(20090101);
user.setPassport(passport);
passport.setUser(user);
trans = session.beginTransaction();
session.save(user);
trans.commit(); }运行完后会在映射的t_user1及t_passport表内分别插入一条数据
解决方案 »
- 第三方支付 java接口
- 在线等!org.hibernate.TransientObjectException: object references an unsaved transie
- 数据格式处理
- 谁能告诉我www.hibernate.org里面的hibernatetools在哪里下载呀。直接给能下的链接。谢谢
- 希望前辈们给些建议,JavaEE大作业!!!
- 不太明白分布式应用程序
- struts做登录框时的中文问题,高手来up
- 探讨:(进来即给分)在本地事务包含边界中使用的资源 jdbc/jsgl 的可分享连接 MCWrapper
- 怎样在多台机器上部署EJB等?
- ejb设计的问题
- 一个J2EE架构前后台交互的问题
- 新手求教:java下调用命令行的代码!!谢谢!!!
1:1/1:M/M:N这样的关系通常可以使用“级联持久化”cascade = CascadeType.Persist,
而M:1需要看情况,因为如果第一个M设置了他的相应的1实体,那么在对M实体进行持久化时,1实体也会被持久化;但是如果当第二个M实体也和第一个M实体一样关联到同一个1实体,那么当对M的第二个实体进行“持久化”时,并且它的对应的1的实体field/property被设置成1实体,那么则会出错,因为1实体已经存在。当然,如果愿意可以使用merge方法设置关系,但是开销较大。
这两种方法都行!! 一般用第一中的多 而第二种则麻烦了一些
我在提一种 楼主的问题 你要是不用HIBERNATE的话 用事务也行啊!! 插入不进去抛个异常