を永続化するために渡された切り離さエンティティは、私はこれらのスレッドの多くがあります知っているが、その解決策の何も私のために働くんでしょう。org.hibernate.PersistentObjectException:新しいオブジェクトに
public void process(EreignisTexteSpezifikationEingang spezifikationEingang) throws BusinessException {
String eingangBaureiheBauart = spezifikationEingang.getBaureiheBauart();
String eingangSoftwareVersion = spezifikationEingang.getSoftwareVersion();
boolean eingangIsDeault = spezifikationEingang.getIsDefault();
AnlageStatus anlageStatus = spezifikationEingang.getAnlageStatus();
Assert.argNotNull(spezifikationEingang, "EreignisTexteSpezifikationEingang");
Assert.argNotNull(eingangBaureiheBauart, "BaureiheBauart");
Assert.argNotNull(eingangSoftwareVersion, "Software Version");
Assert.argNotNull(spezifikationEingang.getInputStream(), "texteInputStream");
checkExistDefaultVersionForBR(eingangBaureiheBauart, eingangIsDeault);
EreignisSpezifikation newSpez = new EreignisSpezifikation();
newSpez.setAnlageDatum(new Date());
newSpez.setSoftwareVersion(eingangSoftwareVersion);
newSpez.setIsDefault(eingangIsDeault);
newSpez.setBemerkung(spezifikationEingang.getBemerkung());
if (AnlageStatus.UNDEFINED.equals(anlageStatus) || null == anlageStatus) {
newSpez.setStatus(AnlageStatus.VERFUEGBAR);
} else {
newSpez.setStatus(anlageStatus);
}
BaureiheBauart baureiheBauart = bauartDao.findByName(eingangBaureiheBauart);
newSpez.setBaureiheBauart(baureiheBauart);
if (baureiheBauart == null) {
throw InvalidEreignisSpezifikationException.invalidBaureihe(eingangBaureiheBauart, spezifikationEingang
.getFilename());
}
EreignisTexteParser parser = parserFactory.getEreignistexteParser();
List<Ereignistext> texte = parser.parse(spezifikationEingang.getInputStream());
newSpez.setEreignistexte(texte);
ereignisSpezifikationDao.makePersistent(newSpez);
EreignisSpezifikation:
...
@Id
@Column(name = "PK_EREIGNIS_SPEZ")
@SequenceGenerator(name = "EreignisSpezSequence", sequenceName = "SEQ_EREIGNIS_SPEZIFIKATION", allocationSize=1)
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "EreignisSpezSequence")
private Long id;
...
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@JoinColumn(name = "FK_EREIGNIS_SPEZ", nullable = false)
List<Ereignistext> ereignistexte;
シーケンスの最後のインデックスが設定されていない189です。
私はすでにマージするCascadeTypeを変更しようとしましたが、何も変わりませんしました。
このオブジェクトは、それが失敗し、まだデータベースに間違いはありません。何か案は?
スタック:
at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:141)
at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:762)
at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:755)
at org.hibernate.ejb.engine.spi.EJB3CascadingAction$1.cascade(EJB3CascadingAction.java:53)
at org.hibernate.engine.internal.Cascade.cascadeToOne(Cascade.java:396)
at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:339)
at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:207)
at org.hibernate.engine.internal.Cascade.cascadeCollectionElements(Cascade.java:426)
at org.hibernate.engine.internal.Cascade.cascadeCollection(Cascade.java:366)
at org.hibernate.engine.internal.Cascade.cascadeAssociation(Cascade.java:342)
at org.hibernate.engine.internal.Cascade.cascadeProperty(Cascade.java:207)
at org.hibernate.engine.internal.Cascade.cascade(Cascade.java:164)
at org.hibernate.event.internal.AbstractSaveEventListener.cascadeAfterSave(AbstractSaveEventListener.java:449)
at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:292)
at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:192)
at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:135)
at org.hibernate.ejb.event.EJB3PersistEventListener.saveWithGeneratedId(EJB3PersistEventListener.java:78)
at org.hibernate.event.internal.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:208)
at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:151)
at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:78)
at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:772)
at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:746)
at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:750)
at org.hibernate.ejb.AbstractEntityManagerImpl.persist(AbstractEntityManagerImpl.java:875)
at org.jboss.as.jpa.container.AbstractEntityManager.persist(AbstractEntityManager.java:563)
at de.db.udg.diagnose.udgdiag.dao.GenericDAOJpa.makePersistent(GenericDAOJpa.java:44)
...
'EreignisSpezifikation newSpez =新しいEreignisSpezifikation()間の完全なスタックトレースや部品を追加してください;'と 'ereignisSpezifikationDao.makePersistent(newSpez);' – Jens
@Jensは、それがtexte' 'の – 0x45
コンテンツは'前に保存されている必要があり役に立てば幸いnewSpez'が保存されます – Jens