当前位置: 首页 > 面试题库 >

Hibernate注释放在哪里?

伊裕
2023-03-14
问题内容

hibernate注释应该放在哪里?

它是我的实例变量上方的线吗?还是在吸气剂之前?还是在二传手之前?还是真的不重要吗?

非常感谢


问题答案:

您可以将它们放在 野外吸气剂上 。从《 Hibernate注释参考指南》中:

2.2.1。将POJO标记为持久实体

(…)

根据您是否注释字段或方法,Hibernate使用的访问类型将是字段或属性。EJB3规范要求您在将要访问的html" target="_blank">元素类型上声明注释,即,如果使用属性访问,则为getter方法;如果使用字段访问,则为字段。应避免在字段和方法中混合使用注释。Hibernate将从@Id或@EmbeddedId的位置猜测访问类型。

您可能还想阅读有关@Access允许强制/覆盖访问类型的注释(在Hibernate Annotation 3.5和JPA
2.0之前,它是Hibernate Annotation Extensions的一部分):

2.2.2.2。访问类型

默认情况下,类层次结构的访问类型由@Id或@EmbeddedId批注的位置定义。如果这些注释在字段上,则仅考虑字段的持久性,并通过字段访问状态。如果在getter上有注释,则仅考虑getter的持久性,并通过getter
/ setter访问状态。这在实践中效果很好,是推荐的方法。


注意

在类层次结构中,注释的位置必须一致(字段或属性),以便能够确定默认访问类型。建议在整个应用程序中坚持一种注解放置策略。

但是,在某些情况下,您需要:

  • 强制实体层次结构的访问类型
  • 覆盖类层次结构中特定实体的访问类型
  • 覆盖可嵌入类型的访问类型

最好的用例是由几个可能不使用相同访问类型的实体使用的可嵌入类。在这种情况下,最好将访问类型强制为可嵌入的类级别。

(…)



 类似资料:
  • 问题内容: 休眠注释应该放在哪里? 它是我的实例变量上方的线吗?还是在吸气剂之前?还是在二传手之前?还是真的不重要吗? 非常感谢 问题答案: 您可以将它们放在 野外 或 吸气剂上 。从《 Hibernate注释参考指南》中: 2.2.1。将POJO标记为持久实体 (…) 根据您是否注释字段或方法,Hibernate使用的访问类型将是字段或属性。EJB3规范要求您在将要访问的元素类型上声明注释,即,

  • 问题内容: 我有一个简单的问题。我已经看过两种方式的例子。问题是-“为什么不能在字段上放置注释?”。让我举一个例子.... 上面的代码可以正常工作(假设那里没有错字)。当将注释放在属性的getter上时,一切就完美了。 但是,这对我来说似乎很尴尬。在我看来,将注解放在字段上比较干净,就像这样- 我已经看到了两种方式的示例。但是,当我运行第二个示例时,我得到以下信息… 这是(标有第25行)… 的骨架

  • 我怀疑Spring注释放在哪一层?以下是两种情况: > case:将放置在DAO层中 案例:将放置在服务层中? 我只使用Spring,而不是SpringMVC。

  • 这个项目当然也有控制器调用的服务。因为它是一个Spring项目,所以用@Service注释对它们进行了注释。 当然,现在我想知道如何将这一点转移到雅加达世界。 用@stateless(我不需要@statelable)注释它的唯一方法是吗? 如果我使用@stateless,我必须把它放在实现类的接口上吗?或者,如果我把它放在接口上,它会被实现类继承吗?

  • 问题内容: 你应该将放置在类和/或它们的方法中,还是更好地注释使用DAO对象调用的Service类?还是对两个“层”都进行注释是否有意义? 问题答案: 我认为交易属于服务层。这是了解工作单元和用例的人。如果你将多个DAO注入到一个服务中,而这些DAO需要在单个事务中一起工作,那么这是正确的答案。

  • 问题内容: 你应该将放置在DAO类和/或它们的方法中,还是更好地注释使用DAO对象调用的类?还是对两个“层”都进行注释是否有意义? 问题答案: 我认为交易属于服务层。这是了解工作单元和用例的人。如果您将多个DAO注入到一个服务中,而这些DAO需要在单个事务中一起工作,那么这是正确的答案。