我的java应用程序使用hibernate和Oracle 10g作为数据库。 我陷入了一个问题,无法继续,我需要你的帮助。 以下是我面临的问题。
我的Oracle表中有一个列,其数据类型为Varchar2(1 byte)
。
我想知道我需要在我的pojo类中使用的正确dataype。
同样在hibernate映射文件中,应该是同一属性的数据类型。
当我运行文件时,hibernate一直在给出错误,就像无法进行转换一样。
下面是我的pojo和.hbm
文件
public class destination implements Serializable{
private String configId;
private String isCurrent;
//other properties and getter, setters
}
destination.hbm.xml
<class name="com.testing" table="configuration">
<id name="configID" type="java.lang.Integer">
<column name="configuration_id" />
<generator class="identity" />
</id>
<property name="isCurrent" type="Not-SURE">
<column name="is_current" not-null="true" />
</property>
我所说的专栏是pojo和isCurrent
文件中的.hbm.xml
属性。
它在db中定义为Varchar2(1 byte)
。我不确定数据类型并将其标记为String
,但问题仍然存在。
我已经在网上搜索过但没有找到解决此问题的正确方法。
你能不能帮助我,因为它真的很喜欢我的头脑。
答案 0 :(得分:1)
我会专注于你在类中声明为String但在xml中将其声明为Integer的configId。
<id name="configID" type="java.lang.Integer">
答案 1 :(得分:0)
我猜你想在记录上存储当前的标志。在这种情况下,你可以做
public class destination implements Serializable{
private String configId;
private boolean current;
public boolean isCurrent() {
return current;
}
}
和hbm映射如
<property name="current" type="yes_no">
<column name="is_current" not-null="true" />
</property>