列举JPA使用的命名法ID的最佳方法是什么?

时间:2014-10-08 13:04:11

标签: java hibernate jpa enums enumeration

如果您有一个命名数据库表,并且您的应用程序和DAL逻辑基于不同的值,您应该能够识别这些值。我用枚举来做,但我想可能有更好的方法。我的方式(非常剥离的代码):

假设我们有实体Pet和Genus(映射到数据库表)。

class Pet{int genusId; int id;}

class Genus{
   int id;
   public enum VALUES{
      CAT(0), DOG(1), PARROT(2);
      public final int id;
      private VALUES(int id){this.id = id;}
   }
}

查询就像:

TypedQuery<Pet> q = em.createQuery("select p from Pet p where p.genusId in (:genusIds)");
q.setParameter("genusIds", Arrays.asList(Genus.VALUES.DOG.id, Genus.VALUES.CAT.id));

我无法获得相关的谷歌点击,所以我猜我可能会走错路。

使用应用程序逻辑保留命名ID的最流行的替代方法是常量,例如:

interface MyConst{
   public static final int GENUS_CAT_ID = 0;
   ...
}

你如何存储你的身份证?

0 个答案:

没有答案