您的位置:首页 > 其它

hibernate级联保存 ,同时自动获取外键值

2015-09-08 15:02 405 查看
遇到了一个问题一对一的级联保存操作,一对象的主键,在另一对象做外键,级联保存操作成功,不过外键值为null。???------当时关注于测级联保存,没有调用对象的set方法。对象代码如下:@Entity@Table(name="Car")publicclassCar{privateintcarid;privateStringcarname;//privateintuserid;privateEngineengine;privateUseruser;@IdpublicintgetCarid(){returncarid;}publicvoidsetCarid(intcarid){this.carid=carid;}publicStringgetCarname(){returncarname;}publicvoidsetCarname(Stringcarname){this.carname=carname;}@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)@JoinColumn(name="userid")publicUsergetUser(){returnuser;}publicvoidsetUser(Useruser){this.user=user;}@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.EAGER,mappedBy="car")publicEnginegetEngine(){returnengine;}publicvoidsetEngine(Engineengine){this.engine=engine;}-------------------------------------------------------------------------------------------------@Entity@Table(name="engine")publicclassEngine{privateintengineid;privateStringenginename;privateStringcarid;privateCarcar;@Id@GeneratedValue(generator="engineid")@GenericGenerator(name="engineid",strategy="native")publicintgetEngineid(){returnengineid;}publicvoidsetEngineid(intengineid){this.engineid=engineid;}publicStringgetEnginename(){returnenginename;}publicvoidsetEnginename(Stringenginename){this.enginename=enginename;}publicStringgetCarid(){returncarid;}publicvoidsetCarid(Stringcarid){this.carid=carid;}publicvoidsetCar(Carcar){this.car=car;}@OneToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)@JoinColumn(name="carid")publicCargetCar(){returncar;}-------------------------------------------------------------------------------@TestpublicvoidTestMapOneToOneAdd(){Carcar=newCar();Engineengine=newEngine();engine.setEnginename("test_bmw7");car.setCarname("test_bmw7");car.setEngine(engine);//car.setCarid(1007);Sessionsession=HibernateUtil.getSession();org.hibernate.Transactiontran=session.beginTransaction();engine.setCar(car);car.setEngine(engine);session.save(car);//session.save(engine);tran.commit();}同时试了一下级联保存的cascade属性设置,当cascade属性设置为CascadeType.REFRESH级联保存,
CascadeType.PERSIST只有A类新增时。
CascadeType.MERGE指A类新增或者变化,会级联B对象级联保存操作都不成功,
只有all成功。
注意:对象的主键都是数据库设置自增方式。当然hibernate主键生成策略设置assigned模式也是同样可以的。看需要。--------------------------------------------------------------------------------------------------------------org.hibernate.TransientObjectException:objectreferencesanunsavedtransientinstance-savethetransientinstancebeforeflushing:dxm.com.vo.Caratorg.hibernate.engine.internal.ForeignKeys.getEntityIdentifierIfNotUnsaved(ForeignKeys.java:294)atorg.hibernate.type.EntityType.getIdentifier(EntityType.java:537)atorg.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:311)atorg.hibernate.type.ManyToOneType.isDirty(ManyToOneType.java:321)atorg.hibernate.type.TypeHelper.findDirty(TypeHelper.java:294)atorg.hibernate.persister.entity.AbstractEntityPersister.findDirty(AbstractEntityPersister.java:4243)atorg.hibernate.event.internal.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:546)atorg.hibernate.event.internal.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:232)atorg.hibernate.event.internal.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:159)atorg.hibernate.event.internal.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:231)atorg.hibernate.event.internal.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:102)atorg.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:55)atorg.hibernate.internal.SessionImpl.flush(SessionImpl.java:1258)atorg.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:425)atorg.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)atorg.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:177)atdxm.com.test.hibernateTest.TestMapOneToOneAdd(hibernateTest.java:59)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)atorg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:231)atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:50)atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)atorg.junit.runners.ParentRunner.run(ParentRunner.java:300)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)java.lang.ExceptionInInitializerErroratdxm.com.test.hibernateTest.TestMapOneToOneAdd(hibernateTest.java:53)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)atorg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:231)atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:50)atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)atorg.junit.runners.ParentRunner.run(ParentRunner.java:300)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)Causedby:org.hibernate.AnnotationException:UnknownmappedByin:dxm.com.vo.Car.engine,referencedpropertyunknown:dxm.com.vo.Engine.caratorg.hibernate.cfg.OneToOneSecondPass.doSecondPass(OneToOneSecondPass.java:160)atorg.hibernate.cfg.Configuration.originalSecondPassCompile(Configuration.java:1697)atorg.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1426)atorg.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1846)atorg.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1930)atdxm.com.util.HibernateUtil.<clinit>(HibernateUtil.java:16)...24moreorg.hibernate.exception.ConstraintViolationException:couldnotexecutestatementatorg.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:72)atorg.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)atorg.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)atorg.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)atorg.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:211)atorg.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:62)atorg.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3124)atorg.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3581)atorg.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:104)atorg.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:465)atorg.hibernate.engine.spi.ActionQueue.executeInserts(ActionQueue.java:337)atorg.hibernate.engine.spi.ActionQueue.addInsertAction(ActionQueue.java:176)atorg.hibernate.engine.spi.ActionQueue.addAction(ActionQueue.java:216)atorg.hibernate.event.internal.AbstractSaveEventListener.addInsertAction(AbstractSaveEventListener.java:334)atorg.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:289)atorg.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:195)atorg.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:126)atorg.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:209)atorg.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55)atorg.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:194)atorg.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49)atorg.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90)atorg.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:715)atorg.hibernate.internal.SessionImpl.save(SessionImpl.java:707)atorg.hibernate.internal.SessionImpl.save(SessionImpl.java:702)atdxm.com.test.hibernateTest.TestMapOneToOneAdd(hibernateTest.java:63)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)atorg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:231)atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:50)atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)atorg.junit.runners.ParentRunner.run(ParentRunner.java:300)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)Causedby:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Duplicateentry'1004'forkey'PRIMARY'atsun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)atjava.lang.reflect.Constructor.newInstance(Constructor.java:513)atcom.mysql.jdbc.Util.handleNewInstance(Util.java:411)atcom.mysql.jdbc.Util.getInstance(Util.java:386)atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041)atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187)atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)atcom.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)atcom.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)atcom.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)atcom.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)atorg.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208)...44moreorg.hibernate.exception.ConstraintViolationException:couldnotexecutestatementatorg.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:72)atorg.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)atorg.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)atorg.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)atorg.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:211)atorg.hibernate.engine.jdbc.batch.internal.NonBatchingBatch.addToBatch(NonBatchingBatch.java:62)atorg.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3124)atorg.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3581)atorg.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:104)atorg.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:465)atorg.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:351)atorg.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:350)atorg.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:56)atorg.hibernate.internal.SessionImpl.flush(SessionImpl.java:1258)atorg.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:425)atorg.hibernate.engine.transaction.internal.jdbc.JdbcTransaction.beforeTransactionCommit(JdbcTransaction.java:101)atorg.hibernate.engine.transaction.spi.AbstractTransactionImpl.commit(AbstractTransactionImpl.java:177)atdxm.com.test.hibernateTest.TestMapOneToOneAdd(hibernateTest.java:65)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)atorg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:231)atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:50)atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)atorg.junit.runners.ParentRunner.run(ParentRunner.java:300)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)Causedby:com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:Duplicateentry'1003'forkey'PRIMARY'atsun.reflect.NativeConstructorAccessorImpl.newInstance0(NativeMethod)atsun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)atsun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)atjava.lang.reflect.Constructor.newInstance(Constructor.java:513)atcom.mysql.jdbc.Util.handleNewInstance(Util.java:411)atcom.mysql.jdbc.Util.getInstance(Util.java:386)atcom.mysql.jdbc.SQLError.createSQLException(SQLError.java:1041)atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4187)atcom.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4119)atcom.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2570)atcom.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2731)atcom.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2815)atcom.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2458)atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2375)atcom.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:2359)atorg.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:208)...36morejava.lang.ExceptionInInitializerErroratdxm.com.test.hibernateTest.TestMapOneToOneAdd(hibernateTest.java:52)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)atorg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:231)atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:50)atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)atorg.junit.runners.ParentRunner.run(ParentRunner.java:300)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)Causedby:org.hibernate.MappingException:Repeatedcolumninmappingforentity:dxm.com.vo.Carcolumn:userid(shouldbemappedwithinsert="false"update="false")atorg.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:709)atorg.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:731)atorg.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:753)atorg.hibernate.mapping.PersistentClass.validate(PersistentClass.java:506)atorg.hibernate.mapping.RootClass.validate(RootClass.java:270)atorg.hibernate.cfg.Configuration.validate(Configuration.java:1360)atorg.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1851)atorg.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1930)atdxm.com.util.HibernateUtil.<clinit>(HibernateUtil.java:16)...24morejava.lang.ExceptionInInitializerErroratdxm.com.test.hibernateTest.TestMapOneToOneAdd(hibernateTest.java:52)atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)atjava.lang.reflect.Method.invoke(Method.java:597)atorg.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)atorg.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)atorg.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)atorg.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)atorg.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)atorg.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)atorg.junit.runners.ParentRunner$3.run(ParentRunner.java:231)atorg.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)atorg.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)atorg.junit.runners.ParentRunner.access$000(ParentRunner.java:50)atorg.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)atorg.junit.runners.ParentRunner.run(ParentRunner.java:300)atorg.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)atorg.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)atorg.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)Causedby:org.hibernate.MappingException:Repeatedcolumninmappingforentity:dxm.com.vo.Enginecolumn:carid(shouldbemappedwithinsert="false"update="false")atorg.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:709)atorg.hibernate.mapping.PersistentClass.checkPropertyColumnDuplication(PersistentClass.java:731)atorg.hibernate.mapping.PersistentClass.checkColumnDuplication(PersistentClass.java:753)atorg.hibernate.mapping.PersistentClass.validate(PersistentClass.java:506)atorg.hibernate.mapping.RootClass.validate(RootClass.java:270)atorg.hibernate.cfg.Configuration.validate(Configuration.java:1360)atorg.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1851)atorg.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1930)atdxm.com.util.HibernateUtil.<clinit>(HibernateUtil.java:16)...24more
                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: