读书人

一个关于Hibernate检索的有关问题?

发布时间: 2011-12-03 22:57:58 作者: rapoo

请教大家一个关于Hibernate检索的问题???
我有如下entity:
public class Categoryname implements java.io.Serializable {

private Integer catNameId;
private int categoryId;
private String catName;
private String languageFlg;
private int createUserId;
private Date createDate;
private int modifyUserId;
private Date modifyDate;
。。。。。。。
}
再对该表检索时使用hibernate自动生成的findbyexample,可是由于其中某些字段有默认值(比如:categoryId的默认值为0),造成每次检索都为空,请问大家这种情况应该怎么办(不要告诉我把字段都改成String,因为表实在是太多了,都改成String不太现实)?小弟刚刚学习hibernate,请大家不吝赐教。

[解决办法]
Categoryname 对应的表可有数据啊?
[解决办法]
你怎么查询的?代码可贴出来,那里报null了?这个跟默认值没关系的吧
[解决办法]
你当然没必要改成string,而是应该改成Long或者Integer。

你应该用对象类型,而不是值类型(基本类型)。使用对象类型虽然有点麻烦。但是,值类型无法表示空这个概念。
[解决办法]
四楼说对了:
private Integer categoryId;
private Integer createUserId;
private Date createDate = new Date();
private Integer modifyUserId;

int型换成Integer类型就不会报空了。
createUserId和modifyUserId如果还做了外对象关联,需要外表有对应的数据,同时这里应该用外对象来定义(例如):
private User createUserId;
private User modifyUserId;
[解决办法]
你可以把映射文件<id>元素改成<id name="" column="" type="" unsaved-value="0">
试一下!

读书人网 >J2EE开发

热点推荐