次の2つのエンティティがありますが、TrainerのoneToManyリレーション行で、@ JoinColumnアノテーションを使用しているときに、「jointabletrainer_batchが見つかりません」というエラーメッセージが表示されます。プログラムは以下の通りです...
@実在物
@Table(name = "trainer")
パブリッククラストレーナー{
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
int id;
文字列名;
@OneToMany(cascade = CascadeType.ALL)
@JoinColumn(name = "trainerid")
Set batchs = new HashSet();
public String getName(){
戻り名;
}
public void setName(String name){
this.name = name;
}
public Set getBatches(){
バッチを返します。
}
public void setBatches(Batch batch){
batches.add(batch);
}
}
@実在物
@Table(name = "batch")
パブリッククラスバッチ{
public String getSlot(){
リターンスロット;
}
public void setSlot(String slot){
this.slot=スロット;
}
public String getTopic(){
トピックを返す;
}
public void setTopic(String topic){
this.topic=トピック;
}
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
int id;
文字列スロット;
文字列トピック;
}
persistance.xmlは以下のとおりです
<?xml version = "1.0" encoding = "UTF-8"?>
<persistence xmlns = "http://java.sun.com/xml/ns/persistence"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd "version =" 1.0 ">
<persistence-unit name = "one_to_many_pk_fkPU" transaction-type = "RESOURCE_LOCAL">
<provider> org.hibernate.ejb.HibernatePersistence </ Provider>
<プロパティ>
<プロパティ名="hibernate.connection.driver_class"値="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name = "hibernate.connection.url" value = "jdbc:sqlserver:// localhost:1433; DatabaseName = test; MARS_Connection = yes;" />
<プロパティ名="hibernate.connection.username"値="sa"/>
<プロパティ名="hibernate.connection.password"値="テスト"/>
<property name = "hibernate.dialect" value = "org.hibernate.dialect.SQLServerDialect" />
</プロパティ>
</persistence-ユニット>
</永続性>