NutzCN Logo
问答 想要扩展一个nutz dao 的功能 组合类向下 扫描
发布于 165天前 作者 抛出异常的爱 251 次浏览 复制 上一个帖子 下一个帖子
标签:

1 。 想要用 业务 BEAN 来当作生成页面的 数据源
2 。 业务 Bean 里可能会含有 页面生成相关的的 BEAN 类似

@Data
class business {
     @Name
    public String ID;
    public PlanTime plan;
}
@Data 
class PlanTime{
    @Column("plan_time")
    public Date time;

}

  1. 生成数据库 与查寻数据库时都看不到这个 plan_time ;
  2. 希望能有一种 注解 @Falten 把 complant 的内容从组合的小类 里抓出来 当作 根的一个属性。
  3. 查到的代码 AnnotationEntityMaker 下面的 : 183 行 :
     /*
         * 循环获取实体字段
         */
        List<MappingInfo> infos = new ArrayList<MappingInfo>();
        List<LinkInfo> ones = new ArrayList<LinkInfo>();
        List<LinkInfo> manys = new ArrayList<LinkInfo>();
        List<LinkInfo> manymanys = new ArrayList<LinkInfo>();

        String[] _tmp = ti.annPK == null ? null : ti.annPK.value();
        List<String> pks = _tmp == null ? new ArrayList<String>() : Arrays.asList(_tmp);
        // 循环所有的字段,查找有没有数据库映射字段
        for (Field field : en.getMirror().getFields()) {
            // '@One'
            if (null != field.getAnnotation(One.class)) {
                ones.add(_Infos.createLinkInfo(field));
            }
            // '@Many'
            else if (null != field.getAnnotation(Many.class)) {
                manys.add(_Infos.createLinkInfo(field));
            }
            // '@ManyMany'
            else if (null != field.getAnnotation(ManyMany.class)) {
                manymanys.add(_Infos.createLinkInfo(field));
            }
            // 应该忽略
            else if ((Modifier.isTransient(field.getModifiers()) && null == field.getAnnotation(Column.class))
                     || (shouldUseColumn && (null == field.getAnnotation(Column.class)
                                             && null == field.getAnnotation(Id.class) && null == field.getAnnotation(Name.class)))
                                             && !pks.contains(field.getName())) {
                continue;
            }
            // '@Column'
            else {
                infos.add(_Infos.createMappingInfo(ti.annPK, field));
            }

        }

这里应该加入修改的代码 。
不知道这么改能不能达到我的需求。

1 回复
CREATE TABLE t_business
(
id varchar(255),

plan_time datetime
)  
添加回复
请先登陆
回到顶部