javax.persistence.EntityNotFoundException: Unable to find 'ENTITY' with id

350
11 октября 2017, 06:12

Имею три сущности: Database, Table, Field. Связаны они отношением one-to-many. Но при вызове метода save в jpa repository, выдаёт ошибку. Уже ставил и аннотацию @NotFound(action = NotFoundAction.IGNORE) над связью many-to-one, но не помогает. В чём проблема?

Caused by: javax.persistence.EntityNotFoundException: Unable to find com.domain.Table with id 79fa34b6-b2e7-4c13-a4c8-e8f216a4b4c7 at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl$JpaEntityNotFoundDelegate.handleEntityNotFound(EntityManagerFactoryBuilderImpl.java:158) at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:227) at org.hibernate.event.internal.DefaultLoadEventListener.proxyOrLoad(DefaultLoadEventListener.java:278) at org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:121) at org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:89) at org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1239) at org.hibernate.internal.SessionImpl.internalLoad(SessionImpl.java:1122) at org.hibernate.type.EntityType.resolveIdentifier(EntityType.java:646) at org.hibernate.type.EntityType.resolve(EntityType.java:431) at org.hibernate.type.EntityType.replace(EntityType.java:330) at org.hibernate.type.CollectionType.replaceElements(CollectionType.java:543) at org.hibernate.type.CollectionType.replace(CollectionType.java:688) at org.hibernate.type.AbstractType.replace(AbstractType.java:144) at org.hibernate.type.TypeHelper.replaceAssociations(TypeHelper.java:264) at org.hibernate.event.internal.DefaultMergeEventListener.copyValues(DefaultMergeEventListener.java:420) at org.hibernate.event.internal.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:240) at org.hibernate.event.internal.DefaultMergeEventListener.entityIsDetached(DefaultMergeEventListener.java:301) at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:170) at org.hibernate.event.internal.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:69) at org.hibernate.internal.SessionImpl.fireMerge(SessionImpl.java:883) at org.hibernate.internal.SessionImpl.merge(SessionImpl.java:869) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.orm.jpa.SharedEntityManagerCreator$SharedEntityManagerInvocationHandler.invoke(SharedEntityManagerCreator.java:298) at com.sun.proxy.$Proxy150.merge(Unknown Source) at org.springframework.data.jpa.repository.support.SimpleJpaRepository.save(SimpleJpaRepository.java:511) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.executeMethodOn(RepositoryFactorySupport.java:504) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.doInvoke(RepositoryFactorySupport.java:489) at org.springframework.data.repository.core.support.RepositoryFactorySupport$QueryExecutorMethodInterceptor.invoke(RepositoryFactorySupport.java:461) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.data.projection.DefaultMethodInvokingMethodInterceptor.invoke(DefaultMethodInvokingMethodInterceptor.java:56) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) ... 141 common frames omitted

Database класс:

   @Entity
@Table(name = "data_base", schema = "dbmanager")
public class Database {
    @Id
    @NotNull
    @Column(name = "id_database", unique = true)
    private String id;
    @Column(name = "database_url")
    private String databaseUrl;
    @Column(name = "database_user")
    private String databaseUser;
    @Column(name = "database_password")
    private String databasePassword;
    @OneToMany(mappedBy = "database")
    private Set<Table> tables;
    }

Table класс

   @Entity
    @javax.persistence.Table(name = "data_base_table", schema = "dbmanager")
    public class Table {
        @Id
        @NotNull
        @Column(name = "id_table", unique = true)
        private String id;
        @Column(name = "table_name")
        @NotNull
        private String name;
        @Column(name = "table_visible")
        private Integer visible;
        @ManyToOne(fetch = FetchType.LAZY)
        @NotFound(action = NotFoundAction.IGNORE)
        @JoinColumn(name = "id_database")
        private Database database = new Database();
        @OneToMany(mappedBy = "table")
        private Set<Field> fields;
}

Field класс

  @Entity
@javax.persistence.Table(name = "table_field", schema = "dbmanager")
public class Field {
    @Id
    @NotNull
    @Column(name = "id_field", unique = true)
    private String id;
    @Column(name = "field_name")
    @NotNull
    private String name;
    @Column(name = "field_visible")
    @NotNull
    private Integer visible;
    @ManyToOne(fetch = FetchType.LAZY)
    @NotFound(action = NotFoundAction.IGNORE)
    @JoinColumn(name = "id_table")
    private Table table = new Table();
}
READ ALSO
JAXB, ExceptionInInitializerError

JAXB, ExceptionInInitializerError

Класс DataObject

309
JavaFX. Inset / Outset Border

JavaFX. Inset / Outset Border

Доброго времени сутокСобственно, вопрос состоит в том, как сделать в JavaFX рамку типа Inset / Outset

209
Ошибка &ldquo;non-static variable this cannot be referenced from a static context&rdquo;

Ошибка “non-static variable this cannot be referenced from a static context”

Учусь программировать по учебнику и попытался понять принципы ООПНаписал следующий код в Main

250
Передать данные: AsyncTask, WeakReference в EditText

Передать данные: AsyncTask, WeakReference в EditText

Есть activity с картой, при нажатии на карту происходит асинхронный запрос и возвращаются данные JSONОдно из полей - адрес

188