рдЕрдкрдиреЗ рд╕рдВрдЧреНрд░рд╣ рд╕реЗ рдкрджреЛрдВ рдХреЗ рдПрдХ рджреИрдирд┐рдХ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рдкрдврд╝рддреЗ рд╣реБрдП, Google рд░реАрдбрд░ MongoDB рдХреЗ рд▓рд┐рдП рдПрдХ ORM рдкреЛрд╕реНрдЯ рдкрд░ рдЖрдпрд╛ рдЬрд┐рд╕рдХрд╛ рдирд╛рдо "рдореЙрд░реНрдлрд┐рдпрд╛" рдерд╛ред рдиреАрдЪреЗ рдЖрдкрдХреЛ "рдмрд╣реБрдд рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди" рдХреЗ рд╢реАрд░реНрд╖рдХ рдХрд╛ рджрд╛рд╡рд╛ рдХрд░рддреЗ рд╣реБрдП, рдЗрд╕рдХреЗ рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рд╕рд╛рдордЧреНрд░реА рдХрд╛ рд▓реЗрдЖрдЙрдЯ рдорд┐рд▓реЗрдЧрд╛ред
- рдореЙрд░реНрдлрд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИред рдпрд╣ рдПрдХ рдЖрд╕рд╛рди рдФрд░ рддреЗрдЬ рдврд╛рдВрдЪрд╛ рд╣реИред
- рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ рджреЛрдиреЛрдВ рд╡реНрдпрд╛рдЦреНрдпрд╛рддреНрдордХ POJO рд╡рд╕реНрддреБрдУрдВ рдФрд░ DAO рджреГрд╖реНрдЯрд┐рдХреЛрдг
- рд╕рдВрдкреВрд░реНрдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдПрдиреЛрдЯреЗрд╢рди рджреНрд╡рд╛рд░рд╛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, XML рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
- рд╡рд┐рд╕реНрддрд╛рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕рдорд░реНрдерд┐рдд рд╣реИ (рд╡рд░реНрддрдорд╛рди рдореЗрдВ рд╕рддреНрдпрд╛рдкрди рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ (jsr330) рдФрд░ рд▓реЙрдЧрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП SLF4J рд╕рдорд░реНрдерди
- Google Guice, Spring рдФрд░ рдЕрдиреНрдп DI рдЪреМрдЦрдЯреЗ рдХреЗ рд╕рд╛рде рдмрдврд╝рд┐рдпрд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
- рдЗрд╕рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рд╡рд┐рд╕реНрддрд╛рд░ рдмрд┐рдВрджреБ рд╣реИрдВ
- GWT рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ
рдореЙрд░реНрдлрд┐рдпрд╛ рдореЗрдВ рдПрдХ рдЗрдХрд╛рдИ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рд╣реИ:
@Entity("employees") class Employee { @Id ObjectId id;
рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
Morphia morphia = new Morphia(); db = new Mongo(); Datastore ds = morphia.createDatastore(db, appname, user, pass.toCharArray()); morphia.map(Employee.class); ds.save(new Employee("Mister", "GOD", null, 0));
рдзрд╛рд░рд╛рдкреНрд░рд╡рд╛рд╣ рдПрдкреАрдЖрдИ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд┐рд░реНрдорд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг:
Query q = ds.createQuery(MyEntity.class).filter("foo >", 12).filter("foo <", 30).order("dateAdded").offset(1000).retrievedFields(true, "foo");
DAO рд╢реИрд▓реА рдХрд╛ рдХрд╛рдо рдЙрджрд╛рд╣рд░рдг:
public class HotelDAO extends BasicDAO<Hotel, String> { public HotelDAO(Morphia morphia, Mongo mongo ) { super(mongo, morphia, "myDB"); } public List<Hotel> findByTitle( String title ) { Pattern regExp = Pattern.compile(name + ".*", Pattern.CASE_INSENSITIVE); return ds.find(Hotel.class).filter("title", regExp).sort("title").asList(); } } HotelDAO hDAO = new HotelDAO(...); List<Hotel> hotels = hDAO.findByTitle("Luxury"); hDAO.save(new Hotel(...));
рд╕рдВрджрд░реНрдн: