Hyperjaxb を使用して JPA マッピングを生成しています。次に、hibernate3-maven-plugin を使用してデータベースの SQL スクリプトを生成します。私の問題は、次のように定義されたプロパティを持つ型があるという事実にあります。
<xsd:element name="priority" type="xsd:boolean"/>
SQLスクリプトは、次のように列を定義します
PRIORITY bit,
そして、JPAエンティティはそれを次のように定義します
/**
* Obtient la valeur de la propriété priority.
*
*/
@Basic
@Column(name = "PRIORITY")
public boolean isPriority() {
return priority;
}
/**
* Définit la valeur de la propriété priority.
*
*/
public void setPriority(boolean value) {
this.priority = value;
}
バックエンドとして MySql を使用しています。JPA/Hibernate entityManager がデータベースに対して JPA モデルを検証しようとすると、問題が発生します。次に、このエラーが発生します
org.hibernate.HibernateException: Wrong column type in custom.sample_type for column PRIORITY. Found: bit, expected: boolean
このエラーを修正するにはどうすればよいですか? どこかで読んだところ、Javaコードでこのようなことができる
@Basic
@Column(name = "B", columnDefinition = "BIT", length = 1)
public boolean isB() {
return b;
}
しかし、私の JPA Java コードは Hyperjaxb によって自動生成されます。