我无法理解这段代码

时间:2013-07-09 09:58:07

标签: java morphia

我将学习Java和Morphia。我有这段代码:

import com.google.code.morphia.annotations.Entity;
import com.google.code.morphia.annotations.Embedded;
import com.google.code.morphia.annotations.Id;
import com.google.code.morphia.annotations.Property;
import org.bson.types.ObjectId;

@Entity
public class Hotel {

    @Id private ObjectId id;

    private String name;
    private int stars;

    @Embedded
    private Address address;
...
}

请告诉我@Entity@Id@Embedded是什么意思?和generralz什么时候应该在Java中使用@ 非常感谢你

5 个答案:

答案 0 :(得分:3)

@用于注释。当您在任何类,方法或参数上方使用@标记时,这意味着您对某些解析器解析的规则应用了一些规则。

要学习注释,请参阅链接:

  1. http://en.wikipedia.org/wiki/Java_annotation
  2. http://docs.oracle.com/javase/tutorial/java/annotations/
  3. 注释是一种元数据形式,它提供有关不属于程序本身的程序的数据。注释对它们注释的代码的操作没有直接影响。

    注释有许多用途,其中包括:

    编译器的信息 - 编译器可以使用注释来检测错误或抑制警告。
    编译时和部署时处理 - 软件工具可以处理注释信息以生成代码,XML文件等。
    运行时处理 - 可以在运行时检查某些注释。



    阅读morphai annotaion阅读此链接: https://code.google.com/p/morphia/wiki/AllAnnotations

    以上文件表格:
    @Entity :标记要直接存储在集合中的实体。 examples
    @Id :将@Entity中的字段标记为mongodb中的“id”字段。
    @Embedded :允许自定义某些选项。 examples

答案 1 :(得分:2)

这些是annotations,它们在编译时呈现(尽管可以在运行时检查它们的值)。它们被添加到Java 1.5版本中。

此问题中的具体注释与Morphia有关,即Mongodb library

答案 2 :(得分:2)

那些是annotations

  

注释是一种元数据形式,它提供有关不属于程序本身的程序的数据。注释对它们注释的代码的操作没有直接影响。

     

注释有许多用途,其中包括:

     
      
  1. 编译器的信息 - 编译器可以使用注释来检测错误或抑制警告。
  2.   
  3. 编译时和部署时处理 - 软件工具可以处理注释
  4.   
  5. 生成代码,XML文件等的信息。   运行时处理 - 可以在运行时检查某些注释。
  6.   

您可以获取all annotation in Morphia的列表:

Id:将@Entity中的字段标记为mongodb中的“id”字段。

Entity:将实体标记为直接存储在集合中。

Embedded:允许自定义某些选项。

答案 3 :(得分:2)

@Entity, @Id, @Embedded   

在java中称为annotations

  

注释是一种元数据形式,它提供有关不属于程序本身的程序的数据。注释对它们注释的代码的操作没有直接影响。

答案 4 :(得分:0)

记录中,morphia已移至https://github.com/mongodb/morphia的github。我将更新googlecode上的文档以指向新家。