这是我的实体。
@Table(uniqueConstraints = { @UniqueConstraint(columnNames = { "code" } })
@Entity
public class Product extends ExtendedModel {
private static final long serialVersionUID = 8986161490957095179L;
@Column(columnDefinition = "Ürün Kodu")
private String code;
private String name;
我想获取uniq列的名称。
我通常使用这种方法。
columnName = myClass.getClass().getDeclaredField("code").getDeclaredAnnotation(Column.class)
.columnDefinition();
但是我想动态地命名。如何获取uniq列名?
答案 0 :(得分:1)
我不知道我是否理解您的问题,但是如果您想通过反思得到答案,请尝试
myClass.getClass().getDeclaredAnnotation(Table.class).uniqueConstraints()[0].columnNames()[0]
答案 1 :(得分:1)
您应该这样做。
columnName = selectedModel.getClass()
.getDeclaredField(
selectedModel.getClass().getDeclaredAnnotation(Table.class).uniqueConstraints()[0]
.columnNames()[0])
.getDeclaredAnnotation(Column.class).columnDefinition();