我不知道它为什么不起作用......我想,它必须能够通过@ManyToOne注释中的级联选项来完成。
如果它有用:我使用的是Spring Data和Hibernate
有什么想法吗?
@Table(name = "lizenzenDistributionstypen")
public class LizenzDistributionstypen {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long mID;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "lizenz", referencedColumnName = "id")
private Lizenz mLizenz;
@ManyToOne(cascade = CascadeType.ALL)
@JoinColumn(name = "distributionstyp", referencedColumnName = "id")
private Distributionstypen mDistributionstyp;
@Column(name = "status")
@NotNull
private String mStatus;
@Column(name = "ablehnungsgrund")
private String mAblehnungsgrund;
}
@Table(name = "lizenzen")
public class Lizenz {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long mID;
@Column(name = "name")
@NotNull
private String mName;
@Column(name = "version")
private String mVersion;
@Column(name = "url")
@NotNull
private String mUrl;
@Column(name = "status")
@NotNull
private String mStatus;
这是错误:
org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing: licenseapp.dbtables.Lizenz
编辑:
@Table(name = "distributionstypen")
public class Distributionstypen {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id")
private Long mId;
@Column(name = "beschreibung")
@NotNull
private String mBeschreibung; }
我试图通过Lizenz的父母保存