paip.hibernate list 返回位null的解决
但是size是对的...
里面都是null...
hb3.2版本...oracle11g
=========原因:没主键
也许没主键,看累挂,真的没...
走加上...在myeclipse生成...走ok兰...发现生成的pojo和没主键的时候儿也不一样...
作者 老哇的爪子 Attilax 艾龙, EMAIL:1466519819@qq.com
来源: http://blog.csdn.net/attilax
// Fields
private Long id;
private Long vdnid;
private Long userid;
private Long confkbstypepid;
private Long departmentid;
private Long grpsubsitepid;
private String question;
private String keyword;
private String answer;
private Long belong;
// Property accessors
@GenericGenerator(name = "generator", strategy = "increment")
@Id
@GeneratedValue(generator = "generator")
@Column(name = "ID", unique = true, nullable = false, precision = 22, scale = 0)
public Long getId() {
return this.id;
}
要是没主键,走弄个..
// Fields
private TConfKbsId id;
// Property accessors
@EmbeddedId
@AttributeOverrides( {
@AttributeOverride(name = "vdnid", column = @Column(name = "VDNID", precision = 22, scale = 0)),
@AttributeOverride(name = "userid", column = @Column(name = "USERID", precision = 22, scale = 0)),
@AttributeOverride(name = "confkbstypepid", column = @Column(name = "CONFKBSTYPEPID", precision = 22, scale = 0)),
@AttributeOverride(name = "departmentid", column = @Column(name = "DEPARTMENTID", precision = 22, scale = 0)),
@AttributeOverride(name = "grpsubsitepid", column = @Column(name = "GRPSUBSITEPID", precision = 22, scale = 0)),
@AttributeOverride(name = "id", column = @Column(name = "ID", precision = 22, scale = 0)),
@AttributeOverride(name = "question", column = @Column(name = "QUESTION", length = 2048)),
@AttributeOverride(name = "keyword", column = @Column(name = "KEYWORD", length = 2048)),
@AttributeOverride(name = "answer", column = @Column(name = "ANSWER", length = 1096)),
@AttributeOverride(name = "belong", column = @Column(name = "BELONG", precision = 22, scale = 0)) })
public TConfKbsId getId() {
return this.id;
}
参考
hibernate 查询视图返回list为null的解决方法 2013-01-08 16:12:37
分类: Linux
hibernate查询视图时,会将视图的所有字段作为主键,如果存在为空字段则返回值就为空,也就查询不到相应的结果。myeclipse反转工具生成的实体包含两个表,一个表是EntPriWarQueryId,一个表是EntPriWarQuery,处理方法如下:
1.把此表EntPriWarQuery当做普通的表处理,增加主键及主键生成策略,还有相关的get和set方法,也就是说把该表处理成普通的实体;
2.在创建视图时把可能为空的字段做处理,forexampl:
case when p.fileno is null then '0'
else p.fileno
end as fileno,
是为空的字段有值即可;