【问题标题】:Identify primary key in hibernate识别休眠中的主键
【发布时间】:2017-08-04 09:39:37
【问题描述】:

有什么方法可以在我的 JSP 页面中识别实体类的主键。 例如:如果我调用一个函数,我需要取回实体类中声明的@ID参数作为返回。

【问题讨论】:

    标签: java hibernate jsp orm


    【解决方案1】:

    如何做到这一点非常明显。假设您的所有实体将如下所示:

    @Entity
    public class MyEntity implements Serializable {
    
      private Long id;
    
      @Id
      @GeneratedValue(...)
      public Long getId() {
      }
    
      public void setId(Long id) {
        return id;
      }
    
    }
    

    你只需写myEntity.getId()

    【讨论】:

    • 但是如果我们有两个字段设置为@Id。那么我们如何识别哪个是数据库中的主键呢?
    • 如果 2 个字段设置为 @Id,那么这 2 个字段一起形成主键 afaik。
    • 如果你有一个组合主键,这取决于你的策略。多个@Id 字段将导致异常。组合 ID 的一种简单形式是使用@EmbeddedId。请参阅docs.jboss.org/hibernate/orm/5.0/userguide/html_single/… 以获取 Hibernate 5 中的示例(也适用于 Hibernate 4)。你以同样的方式获取 ID:myEntity.getEmbeddedId().getWhatever()
    猜你喜欢
    • 1970-01-01
    • 2012-03-21
    • 2012-03-15
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 2015-12-09
    • 1970-01-01
    • 2014-02-26
    相关资源
    最近更新 更多