加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – JPA / EclipseLink – 检索列名称

发布时间:2020-12-15 02:02:47 所属栏目:Java 来源:网络整理
导读:我正在尝试更新我的 Java知识,因为我上次在1.4.X版本中使用时…我正在尝试使用1.6.0,特别是Java Persistence API(2.0). 我设法创建了一个实体类.它工作正常,因为我能够存储和检索数据. 但是当我决定使用表的列名填充JList并且没有成功时,我一直在愚弄… 这是
我正在尝试更新我的 Java知识,因为我上次在1.4.X版本中使用时…我正在尝试使用1.6.0,特别是Java Persistence API(2.0).

我设法创建了一个实体类.它工作正常,因为我能够存储和检索数据.

但是当我决定使用表的列名填充JList并且没有成功时,我一直在愚弄…

这是一个简单的类,看起来像:

@Entity
@Table(name = "T_CURRENCY",schema = "APP")
public class Currency implements Serializable {
    @Transient
    private PropertyChangeSupport changeSupport = new PropertyChangeSupport(this);
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "ID")
    private Short id;
    @Basic(optional = false)
    @Column(name = "NAME")
    private String name;

    ...
}

有没有办法检索列名?

我发现这个post.似乎是一个有效的解决方案,但我认为它可能有更容易/更优雅的东西?我不知道为什么,但我期待已经完成的方法……

TIA,

短发

解决方法

您可以解析列注释:

for (Field field : entity.getClass().getDeclaredFields()) {
   Column column = field.getAnnotation(Column.class);
   if (column != null) {
      columnNames.add(column.name());
   }
}

请注意,Column注释是可选的,因此您必须确保已定义它.如果不是,您将不得不咨询名称翻译机制,这对此来说太过分了.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读