static List<String> getPrimaryKeyNames(Class<?> modelType) {
PrimaryKey original = modelType.getAnnotation(PrimaryKey.class);
if (original != null) {
return new ArrayList<String>(Arrays.asList(original.value()));
}
TableModel meta = modelType.getAnnotation(TableModel.class);
if (meta != null) {
return Arrays.asList(meta.primary());
}
StackTraceElement caller = getCaller();
throw new UnsupportedOperationException(MessageFormat.format(
"クラス{0}には@{1}の指定がないため、主キー名を自動的に判別できませんでした。{2}()をオーバーライドして明示的に指定して下さい",