0
以下の2つのハイバネートクラスが投稿されています。また、以下に投稿されたpopulateAuthorTableメソッドに記載されているコードを使用してTestAuthorテーブルにレコードを挿入しようとしています。私はセッションを永続化すると分離されたエンティティが継承エラーになる
detached entity passed to persist: msc.hibernate.persistence.TestAuthor
を受け取るコードを実行すると は私がpopulateAuthorTableこのエラーを解決する方法
を教えてください:
private void populateAuthorTable() {
// TODO Auto-generated method stub
Session session = HibernateUtil.getCurrentSession();
Transaction transaction = session.beginTransaction();
ArrayList<TestAuthor> authorsList = new ArrayList<>();
for (Long i = (long) 0; i < 30; i++) {
authorsList.add(new TestAuthor(i, "FName_" + i, "LName_" + i));
}
int i = 0;
for (TestAuthor ta : authorsList) {
session.persist(ta);
i++;
}
}
TestAuthor:
@Entity
@Table(schema = "afk_owner", name = "testauthor")
public class TestAuthor {
@Id
@Column(name = "authorid")
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequencegen")
@SequenceGenerator(name = "sequencegen", sequenceName = "afk_owner.testauthor_seq", allocationSize = 1)
private Long mAuthorID;
@Column(name = "FNAME")
private String mFName;
@Column(name = "LNAME")
private String mLName;
@OneToMany(mappedBy = "author", cascade = CascadeType.ALL)
private List<TestBook> booksList;
public Long getmAuthorID() {
return mAuthorID;
}
public List<TestBook> getBooksList() {
return booksList;
}
public void setBooksList(List<TestBook> booksList) {
this.booksList = booksList;
}
public void setmAuthorID(Long mAuthorID) {
this.mAuthorID = mAuthorID;
}
public String getmFName() {
return mFName;
}
public void setmFName(String mFName) {
this.mFName = mFName;
}
public String getmLName() {
return mLName;
}
public void setmLName(String mLName) {
this.mLName = mLName;
}
public TestAuthor() {
}
public TestAuthor(Long id, String fName, String lName) {
this.mAuthorID = id;
this.mFName = fName;
this.mLName = lName;
this.booksList = new ArrayList<>();
}
}