dorodo报错记录(持续更新)
1:注意 pagesize
2:注意 mapping “标示符无效”
3:报空指针的错误,一般都是后台方法的错误。
4:Impl中一定要写上实现的方法。
5:No row with the given identifier exists
有两张表,table1和table2.产生此问题的原因就是table1里做了关联<one-to-one>或者<many-to-one unique="true">(特殊的多对一映射,实际就是一对一)来关联table2.当hibernate查找的时候,table2里的数据没有与table1相匹配的,这样就会报No row with the given identifier exists这个错.(一句话,就是数据的问题!)
假如说,table1里有自身的主键id1,还有table2的主键id2,这两个字段.
如果hibenrate设置的单项关联,即使table1中的id2为null值,table2中id2中有值,查询都不会出错.但是如果table1中的id2字段有值,但是这个值在table2中主键值里并没有,就会报上面的错!
如果hibernate是双向关联,那么table1中的id2为null值,但是table2中如果有值,就会报这个错.这种情况目前的解决办法就是改成单项关联,或者把不对应的数据改对!
6:Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
ava中一个属性类型是java.util.Date类型,但是数据库表中是varchar类型,在页面上显示记录的时候出现此错误,必须把数据库里改成Timestamp
package test;import java.sql.Timestamp;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;/** * 时间戳与字符串转换 * @author Administrator * */public class DateUtil { /** * 默认日期格式 */ private static final String DEFAULT_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";//Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff] /** * 默认构造函数 */ private DateUtil() { } /** * 字符串转换成日期 如果转换格式为空,则利用默认格式进行转换操作 * @param str 字符串 * @param format 日期格式 * @return 日期 * @throws java.text.ParseException */ public static Date str2Date(String str, String format){ if (null == str || "".equals(str)) { return null; } // 如果没有指定字符串转换的格式,则用默认格式进行转换 if (null == format || "".equals(format)) { format = DEFAULT_FORMAT; } SimpleDateFormat sdf = new SimpleDateFormat(format); Date date = null; try { date = sdf.parse(str); return date; } catch (ParseException e) { e.printStackTrace(); } return null; } /** 日期转换为字符串 * @param date 日期 * @param format 日期格式 * @return 字符串 */ public static String date2Str(Date date, String format) { if (null == date) { return null; } SimpleDateFormat sdf = new SimpleDateFormat(format); return sdf.format(date); } /** * 时间戳转换为字符串 * @param time * @return */ public static String timestamp2Str(Timestamp time) { Date date = null; if(null != time){ date = new Date(time.getTime()); } return date2Str(date, DEFAULT_FORMAT); } /** 字符串转换时间戳 * @param str * @return */ public static Timestamp str2Timestamp(String str) { Date date = str2Date(str, DEFAULT_FORMAT); return new Timestamp(date.getTime()); } public static void main(String[] args) throws Exception { String tm = "2011-01-01 10:00:00.123"; Timestamp tstamp = str2Timestamp(tm); System.out.println(tstamp); System.out.println(timestamp2Str(null)); }}