我正在使用Hyperjaxb生成我的JPA映射。然后我使用hibernate3-maven-plugin生成数据库的SQL脚本。我的问题就在于,我有一个具有像这样定义的属性类型:将columnDefinition属性添加到Hyperjaxb生成的@Column属性
<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,所以我怎么能实现类似的东西与Hyperjaxb?
完美。正是我需要的。谢谢。伟大的工具,hyperjaxb,顺便说一句。 –