【问题标题】:Creating metatable for Hibernate domain objects为 Hibernate 域对象创建元表
【发布时间】:2011-07-22 21:17:24
【问题描述】:

在我的 Hibernate + Spring 应用程序中,我有几个基于注释的域对象。我想浏览所有这些并为所有这些创建带有定义的元表。此元表应如下所示:

Entity Name |    Field Name |    Field Type |    Field Size|    etc.

例如,

@Entity
public class User {

@Column(name = "username", length = 255)
private String username;

@Column(name = "password", length = 255)
private String password;
}

应该创建两条记录

Entity Name |    Field Name |    Field Type |    Field Size|
User        |    username   |     String    |     255      |
User        |    password   |     String    |     255      |

如何做到这一点?

附:我们使用 Spring 的 LocalContainerEntityManagerFactoryBean 进行数据访问

【问题讨论】:

    标签: java hibernate spring annotations entitymanager


    【解决方案1】:

    您可以使用 SessionFactory 的 getAllClassMetadata 方法,除了字段大小(我在 javadoc 中没有找到)之外,它可以为您提供所需的一切。但是,通过检查与类的每个持久属性相对应的类字段上的 @Column 注释集,即使这样也应该相对容易。

    在 ENtityManager 中,您可以调用 getDelegate 来访问 Hibernate 会话,然后调用 getSessionFactory() 来访问会话工厂。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-20
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 2015-08-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多