在使用Git源代码的maven项目中,每当我使用maven编译构建时,是否有可能读取git和commit number的最后一次提交.
我想使用该提交号来找到最后一次提交.
从Java 8开始,您可以在Interfaces中实现默认或静态方法,如下所示
public interface DbValuesEnumIface<ID, T extends Enum<T>> {
T fromId(ID id);
ID getId();
static String getDescriptionKey(){
return "this is a test";
}
}
Run Code Online (Sandbox Code Playgroud)
我想声明上面的静态方法,其签名使用实现类定义的边界,因为方法的实现应该对所有人都相同,唯一不同的应该是声明的泛型,如下:
public interface DbValuesEnumIface<ID, T extends Enum<T>> {
public static T fromId(ID id) {
if (id == null) {
return null;
}
for (T en : T.values()) {
if (en.getId().equals(id)) {
return en;
}
}
}
ID getId();
String getDescriptionKey();
}
...
public enum Statuses implements DbValuesEnumIface<Integer,Statuses>
Run Code Online (Sandbox Code Playgroud)
因为T和ID不是静态的而且不能从静态上下文引用而中断.
那么,如何修改以上内容以便成功编译,如果不可能,应如何实现上述目标以实现所需目的,同时避免实现类中的代码重复.
我在这里查看休眠文档:https : //docs.jboss.org/hibernate/orm/5.0/javadocs/org/hibernate/dialect/package-summary.html尝试查找hibernate.dialect在persistence.xml中使用的文档
它没有提到Postgres 10.x的类。我应该使用PostgreSQL94Dialect吗?