Java 异常汇总

org.hibernate.PropertyValueException: not-null property references a null or transient value

字面意思:一个不允许为Null的属性引用了一个为Null的或者无效的值。
原因:在*.hbm.xml中的 中,not-null="true",这说明属性ProjPortfolioID不允许为空,而在ActionForm中未给他赋值,则就为空,所以就会报错!

Path expected for join!

来源在Hibernate中,进行连接查询时,如果使用join语句,就容易产生标题所示的错误。比如 from Content o left join Mcp mcp where o.mcp.id=mcp.id and mcp.id=2
正确的做法应该是在A中建立private Mcp mcp,并映射,然后通过from Content o left join o.mcp mcp where mcp.id=2
奇怪吧,这么罗嗦。其实大可不必这样连接操作,只要from Content where mcp is null or mcp.id=2即可。如果在Content对象中建立mcp(对象)字段的话,就用不了join。这时只能用from Content o,Mcp mcp where o.mcpId is null or (o.mcpId=mcp.id and mcp.id=2)。这时的mcpId是一个与Mcp表中id对应的整型。
结论: 尽量不用join,费力不讨好。

你可能感兴趣的:(java)