org.hibernate.PropertyValueException: not-null property references a null or transient value
字面意思:一个不允许为Null的属性引用了一个为Null的或者无效的值。
原因:在*.hbm.xml中的<property name="ProjPortfolioID" column="ProjPortfolioID" type="big_decimal" not-null="true" length="10" />
中,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,费力不讨好。