我正在尝试使用Hibernate的userType,在一些problem.here中找到了我的映射文件
<hibernate-mapping>
<class name="MyClass"
table="MYTABLE">
<id name="uuid" type="java.lang.String">
<column name="UUID" />
<generator class="uuid" />
</id>
<property name="myClass_UserType" type="MyClassUserType" >
<column name="A"/>
<column name="B"/>
<column name="C"/>
</property>
</class>
</hibernate-mapping>下面是我的CompositeUserType中的代码
@Override
public void nullSafeSet(PreparedStatement ps, Object arg1, int index,
SessionImplementor arg3) throws HibernateException, SQLException {
if(arg1==null){
//todo
}
else{
MyClass_UserType mc=(MyClass_UserType)arg1;
mc=dao.save(mc);
ps.setString(index, mc.getXYZ());
ps.setString(index+1, mc.getXYZ());
ps.setString(index+2, mc.getXYZ());
ps.setString(index+3, mc.getXYZ());
}
}我想访问nullSafeSet(...)中的MyClass实例方法。我可以在这个方法中访问MyClass_UserType,但是有些方法不能获取MyClass的实例。
有没有办法获得此MyClass实例的引用/访问权限
提前感谢
发布于 2011-04-13 13:58:38
你是否在你的工作包中定义了MyClass,因为映射文件说你映射了一个带有 MyClass 的tabel MYTABLE,但实际上定义了它,如果是这样的话,我确信MyClass的实例是在同一包中的任何类中访问的,或者是通过导入在其他地方访问的,所以请检查你的MyClass。
https://stackoverflow.com/questions/5638226
复制相似问题