在源码中@One和@many注解其实是并无区别的。
但是在日常使用中@One注解最多的还是用一对一,或者一对多,@Many注解最多使用的是多对一或者多对多,不过他们共同有一个方法FetchType fetchType() default FetchType.DEFAULT,源码中FetchType方法中有LAZY,EAGER,DEFAULT;三种类型,LAZY是延迟加载,EAGER是立即加载,DEFAULT是默认,默认规则是一对多立即加载,多对一是延迟加载。
当然当@one的返回结果为多条时,会报错的。可以提前避免。
org.apache.ibatis.executor.ExecutorException: Statement returned more than one row, where no more than one was expected.