191
问题:#11.2 | 什么是JPA
回答:Java持久化API(Java Persistence API,JPA)
192
问题:#11.2.1-1 | JPA定义了两种类型的实体管理器
A:
193
问题:#11.2.1-2 | JPA中持久化单元是指什么
回答:持久化单元是同一个数据源下的一个或多个持久化类
194
问题:#11.2.1-3 | pring提供了多个JPA厂商适配器
A:
195
问题:#11.2.1-4 | Hibernate的JPA适配器支持多种数据库,可以通过其database属性配置使用哪个数据库
A:
196
问题:#12.1-1 | Spring Data MongoDB提供了三种方式在Spring应用中使用MongoDB
A:
197
问题:#12.1.1-1 | Spring Data MongoDB的必要配置
package orders.config:import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.mongodb.core.MongoFactoryBean;import org.springframework.data.mongodb.core.Mongooperations;import org.springframework.data.mongodb.core.MongoTemplate;import org.springframework.data.mongodb.repository.config.EnableMongoRepositories;import com.mongodb.Mongo;
@Configuration@EnableMongoRepositories(basePackages="orders.db") //启用MongoDB的Repository功能public class MongoConfig{ @Bean public MongoFactoryBean mongo(){ //MongoClient bean MongoFactoryBean mongo new MongoFactoryBean(); mongo.setHost("localhost"); return mongo; } @Bean public Mongooperations mongoTempla(Mongo mongo){//MongoTemplate bean return new MongoTemplate(mongo,"OrdersDB"); }}
198
问题:#12.1.1-2 | 借助@EnableMongoRepositories启用Spring
package orders.configimport org.springframework.context.annotation.Configuration;import org.springframework.data.mongodb.config.AbstractMongoconfiguration; import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; import com.mongodb.Mongo;import com.mongodb.Mongoclient;
@Configuration@EnableMongoRepositories("orders.db")public class Mongoconfig extends AbstractMongoconfiguration{ @Override protected String getDatabaseName(){ //制定数据库名称 return "OrdersDB"; } @override public Mongo mongo() throws Exception { //创建Mongo客户端 return new Mongoclient(); }}
199
问题:#12.1.1-3 | 创建MongoClient来访问需要认证的MongoDB服务
@Autowiredprivate Environment env;
@overridepublic Mongo mongo() throws Exception { Mongocredential credential = Mongocredential createMongocRcredential(//创建 MongoDB凭证 env.getProperty("mongo. username"), "OrdersDB", env.getProperty("mongo.password").tocharArray());
return new Mongoclient( //创建 MongoClient new ServerAddress("localhost", 37017), Arrays.asList(credential));}
200
问题:#12.1.1-4 | Spring Data MongoDB注解将Java类型映射为文档 package orders;import java.util.Collection;import java.util.LinkedHashset;import org.springframework.dataannotation.Id:import org.springframework.data.mongodb.core.mapping.Document; import org.springframework.data.mongodb.core.mapping.Field; @Document //这是一个文档public class Order { @Id private String id;//指定ID @Field("client") private String customer;//覆盖默认的域名 private String type; private Collection<Item> items new LinkedHashSet<Item>(); public String getCustomer()( return customer; } public void setCustomer(String customer){ this customer customer; } public String getType(){ return type; } public void setType(String type){ this.type = type; } public Collection<Item> getItems(){ return items; } public void setItems(Collection<Item> items){ this.items= items; } public String getId(){ return id; }}