Org.springframework.orm.jpa.JpaSystemException: для: class oneToOne создан нулевой идентификаторJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Org.springframework.orm.jpa.JpaSystemException: для: class oneToOne создан нулевой идентификатор

Сообщение Anonymous »

Как указано в заголовке, я получил следующее исключение при попытке сохранить данные с помощью Spring Data jpa. Пожалуйста, помогите мне решить эту проблему, потому что я все еще не смог решить знакомые проблемы при поиске.

Действие в классе:

@Entity
@Table(name = "activity")
@Access(AccessType.FIELD)
public class Activity implements Serializable {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String activityName;
private String startTime;
private String endTime;

@OneToOne(fetch = FetchType.LAZY, mappedBy = "activity", cascade = CascadeType.ALL, optional = false)
private ActivityContent activityContent;

private Integer isDelete;

@PrePersist
public void prePersist() {
isDelete = 0;
}
//setters and getters
}


Содержание активности класса:

@Entity
@Table(name = "activity_content")
@Access(AccessType.FIELD)
public class ActivityContent implements Serializable {

@GenericGenerator(name = "generator", strategy = "foreign", parameters = @Parameter(name = "property", value = "activity"))
@Id
@GeneratedValue(generator = "generator")
@Column(name = "activity_id", unique = true, nullable = false)
private Long activityId;

@Column(columnDefinition = "TEXT")
private String content;

@OneToOne(fetch = FetchType.LAZY)
@PrimaryKeyJoinColumn
private Activity activity;
//setters and getters
}


Интерфейс Дао:

public interface ActivityDao extends PagingAndSortingRepository,JpaSpecificationExecutor{
}


перед вызовом ActivityDao.save(activity) я установил приведенные ниже свойства в Activity и ActivityContent, как говорили в других блогах, но это бесполезно.

activityContent.setActivity(activity);
activity.setActivityContent(activityContent);
activityDao.save(activity);


Буду очень признателен, если кто-нибудь мне поможет.

Сведения об исключении:

org.springframework.orm.jpa.JpaSystemException: null id generated for:class com.gauldin.activity.orm.ActivityContent; nested exception is org.hibernate.id.IdentifierGenerationException: null id generated for:class com.gauldin.activity.orm.ActivityContent
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(HibernateJpaDialect.java:333)
at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:244)
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.translateExceptionIfPossible(AbstractEntityManagerFactoryBean.java:488)
at org.springframework.dao.support.ChainedPersistenceExceptionTranslator.translateExceptionIfPossible(ChainedPersistenceExceptionTranslator.java:59)
at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:213)
at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:147)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.data.jpa.repository.support.CrudMethodMetadataPostProcessor$CrudMethodMetadataPopulatingMethodInterceptor.invoke(CrudMethodMetadataPostProcessor.java:133)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.data.repository.core.support.SurroundingTransactionDetectorMethodInterceptor.invoke(SurroundingTransactionDetectorMethodInterceptor.java:57)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy123.save(Unknown Source)


Подробнее здесь: https://stackoverflow.com/questions/427 ... class-onet
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»