列名MD_TIME <----> 属性名为ModifyTime
目前版本,字段相关注解,只有忽略字段Ignore
若是新项目,建议修改javabean或DB表字段, 使命名符合自动转换规范。
如ModifyTime改为mdTime,使:MD_TIME <--> mdTime
用默认映射字段命名,有很多好处,
可以自动生成Javabean,当有字段更改时,只需要重新生成一次即可,
有哪个字段跟之前的不一致,IED工具都可以帮你检测出来
而用注解,则发现不了这些潜在问题。还需要我们手工去维护
如此处所说例子:
@coloun("MD_TIME")
private String ModifyTime;
当字段MD_TIME改为MD_TIME2时,IED工具无法检测出错误.
所以建议,改成默认配置。
若要兼容旧表或第三方接口,可以在业务层作个转换。
bee.properties提供了三种命名转换方式
1 : order_no<-->orderNo(DB<-->Java), 2: ORDER_NO<-->orderNo(DB<-->Java), 3: 保持原样,不转换
一般情况下,字段命名转换,MySQL设置为1, Oracle设置为2. 不转换则设为3
关于ORM Bee的:
* 面向对象方式Suid,SuidRich,MoreTable会检测.
* 根据Javabean生成创建sql命令(Ddl)会检测.
* PreparedSql中实体作为返回类型(returnType),不对实体检测Column注解.
* MapSuid不会检测.
* JustFetch注解的字段,不应该再用Column注解。
*
* 注意: 具体实现,需要用户自动开发(实现ColumnHandler接口,
* 并使用NameTranslateHandle.setColumnHandler(columnHandler)设置).
* 官方不推荐使用Column注解.
*
* 不使用Column注解的好处:
* 约定优于配置,可使用自动命名转换,规则简单.
* 可以用Bee框架自动生成表对应的Javabean.
* 表结构有更改,维护方便,再自动生成一次即可.
* 保留适当冗余,像创建时间,创建人等字段无需移到父类,<br>
* 表与Javabean对应即可,无需过多人工干预.可以节省更多时间关注商业逻辑.
* 处理速度更加快.
* 方案:
* 1)Suid,SuidRich,MoreTable会自动解析sql;
* 2)MoreTable还可以处理不同表有重名字段,不同DB分页语法不同等情况.
* 3)自定义sql, 使用as取别名(select column_name as java_field_name),<br>
* 可以将查询结果自动解析到给出的Javabean结构.
* 4)忽略字段可使用@Ignore
* 5)使用JustFetch注解
* @JustFetch("CONCAT(fisrt_name,last_name)")
* private String fullname;
* -->select CONCAT(fisrt_name,last_name) as fullname
*
* @JustFetch("name")
* private String name2;
* -->select name as name2