我在写插入,更新方法并尝试使用泛型参数作为方法参数。以下是我迄今为止在Ceylon编写的代码,它编译良好。JOOQ-如何推广数据库操作
shared void insert<R>(DSLContext ctx, Table<R&Record> table, Set<TableField<R&Record, Object>> fields, Set<Object> values){
ctx.insertInto(table).columns(fields).values(values).execute();
}
我想通过字段和值作为方法调用的一部分。我已经JOOQ产生的一类:
public class TblGuest extends TableImpl<TblGuestRecord> {
public final TableField<TblGuestRecord, Integer> id ....
public final TableField<TblGuestRecord, String> guestName...
}
由于显而易见的是,该领域有不同的TableField泛型参数,我想知道是否有在HashSet的添加这些参数的方式.. Set<TableField<GuestRecord,Object>> fields = HashSet<TableField<GuestRecord,Object>>();
当然,除了TableField<GuestRecord,Object>
之外,加入任何TableField<GuestRecord,????>
都会导致编译异常。但是有没有办法实现这一点?
我同意这看起来像使用使用现场方差一个非常合理的情况。 –