私はmysqlとecliselink.Iを使用してJPAベースのアプリケーションを構築しています。データベースにデータを挿入しようとすると非常に奇妙な問題があります。データを1つのテーブルに挿入できますが、私は2つのメインテーブルと1つの参照テーブルを持っています(それは他の2つのテーブルの外部キーを保持しています)。私はデータベーステーブルに "シーケンス"を持っていないので変ですデータを挿入しようとすると私のテーブルのいずれかに私は、この例外を取得:他の人が非常に似ているという理由だけで、私は1つのクラスを掲載していますJPA/MySqlの問題
[EL Info]: 2012-03-15 17:52:28.64--ServerSession(18621340)--EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461
[EL Info]: 2012-03-15 17:52:29.23--ServerSession(18621340)--file:/D:/git-eclipse/Martin/reference/build/classes/_reference login successful
[EL Warning]: 2012-03-15 17:52:29.389--ClientSession(31843177)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'eclipse1.sequence' doesn't exist
Error Code: 1146
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?
bind => [2 parameters bound]
Query: DataModifyQuery(name="SEQUENCE" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?")
Internal Exception: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'eclipse1.sequence' doesn't exist
Error Code: 1146
Call: UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?
bind => [2 parameters bound]
Query: DataModifyQuery(name="SEQUENCE" sql="UPDATE SEQUENCE SET SEQ_COUNT = SEQ_COUNT + ? WHERE SEQ_NAME = ?")
[EL Info]: 2012-03-15 17:52:29.394--ServerSession(18621340)--file:/D:/git-eclipse/Martin/reference/build/classes/_reference logout successful
Exception in thread "main" java.lang.IllegalStateException: Attempting to execute an operation on a closed EntityManager.
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.verifyOpen(EntityManagerImpl.java:1665)
at org.eclipse.persistence.internal.jpa.EntityManagerImpl.close(EntityManagerImpl.java:1529)
at OneToManyRelation.main(OneToManyRelation.java:47)
を
@Entity
@Table(name="category")
public class Category {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="CategoryID")
private int CategoryID;
/**
* @return the id
*/
public int getId() {
return CategoryID;
}
/**
* @param id the id to set
*/
public void setId(int CategoryID) {
this.CategoryID = CategoryID;
}
@Column(name="category", nullable=false, length=50, insertable=true)
private String category;
/**
* @return the category
*/
public String getCategory() {
return category;
}
public void setCategory(String category) {
this.category = category;
}
@OneToMany(cascade=CascadeType.ALL)
@JoinTable(name = "templateemail", joinColumns = {
@JoinColumn(name="categoryId", unique = true)
},
inverseJoinColumns = {
@JoinColumn(name="templateId")
}
)
private Set<Template> template;
/**
*
*/
public Set<Template> getChildren() {
return template;
}
/**
*
*/
public void setChildren(Set<Template> template) {
this.template = template;
}
}
私のコードに何が悪いと思いますか?コードを見て事前に
おかげ
コードをお願いします。ありがとうございます。 – Woot4Moo
@Martinあなたの投稿した内容はあなたのコードではありません。だから、どうしたらそれが間違っているのか分かりますか? –
申し訳ありません私はここでかなり新しい、私は私の質問を改善するために全力を尽くします –