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注释是可选的,因此您必须确保已定义它.如果不是,您将不得不咨询名称翻译机制,这对此来说太过分了. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |