У меня проблема, когда я пытаюсь сохранить свою модель. Исключение при создании EntityManagerFactory:JPA Проблемы с сопоставлением отношений
Blockquote javax.persistence.PersistenceException: [PersistenceUnit: ASD] Невозможно построить EntityManagerFactory на org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory (Ejb3Configuration.java:677) на org.hibernate.ejb.HibernatePersistence.createEntityManagerFactory (HibernatePersistence.java:126) в javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:52) в javax.persistence.Persistence.createEntityManagerFactory (Persistence.java:34) at project.serealization.util.PersistentManager.createSession (PersistentManager.java:24) на project.serealization.SerializationTest.testProject (SerializationTest.java:25) в sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method) в sun.reflect.NativeMethodAccessorImpl.invoke (Unknown Source) в sun.reflect.DelegatingMethodAccessorImpl. invoke (Неизвестный источник) at java.lang.reflect.Method.invoke (Неизвестный источник) at junit.framework.TestCase.runTest (TestCase.java:168) at junit.framework.TestCase.runBare (TestCase.java: 134) at junit.framework.TestResult $ 1.protect (TestResult.java:110) at junit.framework.TestResult.runProtected (TestResult.java:128) at junit.framework.TestResult.run (TestResult.java:113) на junit.framework.TestCase .run (TestCase.java:124) at junit.framework.TestSuite.runTest (TestSuite.java:232) at junit.framework.TestSuite.run (TestSuite.java:227) at org.junit.internal.runners .JUnit38ClassRunner.run (JUnit38ClassRunner.java:79) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run (JUnit4TestReference.java:46) at org.eclipse.jdt.internal.junit.runner.TestExecution .run (TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests (RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run (RemoteTestRunner.java:390) at org.eclipse.jdt.internal.junit. runner.RemoteTestRunner.main (RemoteTestRunner.java:197) Вызвано: org.hibernate.HibernateException: Неверный тип столбца в asd.entity_one для столбца ENTITY_TWO_ID. Найдено: double, expected: bigint at org.hibernate.mapping.Table.validateColumns (Table.java:284) at org.hibernate.cfg.Configuration.validateSchema (Configuration.java:1116) at org.hibernate. tool.hbm2ddl.SchemaValidator.validate (SchemaValidator.java:139) на org.hibernate.impl.SessionFactoryImpl. (SessionFactoryImpl.java:349) в org.hibernate.cfg.Configuration.buildSessionFactory (Configuration.java:1327) в org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory (AnnotationConfiguration.java:867) в org.hibernate.ejb.Ejb3Configuration.buildEntityManagerFactory (Ejb3Configuration.java:669) ... 24 более
Код для двух сущностей выглядит следующим образом:
@Entity
public class EntityOne
{
@OneToOne(cascade = CascadeType.ALL, targetEntity = EntityTwo.class)
@JoinColumn(name = "ENTITY_TWO_ID")
private EntityTwo entityTwo;
...
}
@Entity
public class EntityTwo
{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ELEMENT_ID")
private Long element_id;
...
}
Может кто-то пожалуйста, скажите мне, что случилось с моей модели? Спасибо заранее.
Я не понимаю. База данных создается провайдером, не так ли? Я даже не знаю, откуда пришел этот «двойник». –
@Rosen Ну, он создан провайдером, если вы ему скажете (но вы не упомянули, что ваш стол был создан в вашем вопросе). Но я обновил свой ответ. –