Mongodb 的ORM框架 Morphia 之 原始类型和基本类型注解

       注解原始和级别类型的属性    

                 保存原始和基本类型的属性到Mongo中,你不必为他们添加任何注解:

                   

...
private int myInt;
private Date myDate;
private List<String> myStrings;
private String[] stringArray;
...
      默认情况下,Morphia将会试着映射所有支持的基本和原始类型到Mongo,包括这些类型的数组。

          MongoDB仅仅有一下数据类型:

  • Integer(32位有符号值)
  • Long(64有符号值)  
  • Double(64位IEEE745浮点值)
  • String (字符串)               

      这里有些有价值的转换:

  • float → double
  • byte →  int
  • short →  int
  • char →  String        

    并且,依赖于你的模型中存在的类型和数据库将会试着自动为你转换。我的意思是,因为在MongoDB数据库中只存在三种数字类型(32/64有符号, 64位FP)这将相当

  容易转换。下面的列表为当前什么样的基本和原始类型可以被保存:

  • enum(在Mongo中作为String保存)
  • java.util.Date(在Mongo中保存为从新纪元UTC的毫秒数)
  • java.util.Locale(作为字符串保存)
  • com.mongodb.DBRef
  • com.mongodb.ObjectId                   

   正如我我们上面的例子所示,Morphia还支持java.util.List, java.util.Set和java.util.Map容器, 和任何支持的原始类型的数组。

    如果你想把一个属性排除映射到Mongo中, 你可以使用@Transient注解:

           

import com.google.code.morphia.annotations.Transient;
...
@Transient private int myTransientInt;
...
       默认情况下,Morphia把属性名作为Mongo中的字段名。这个可以通过@Property注解进行修改,指定一个名称。

         

import com.google.code.morphia.annotations.Property;
...
@Property("my_integer")
private int myInt;   //在MongoDB中为my_integer
...
     

      原文链接:http://code.google.com/p/morphia/wiki/PropertyAnnotation

你可能感兴趣的:(mongodb,框架,orm,String,Integer,import)