小编Rah*_*ani的帖子

为什么即使使用BatchFetchType.IN提示,JPA/Eclipselink也会激发冗余数据库查询?

摘要:

我试图最小化我的基于JPA的Java应用程序对数据库的查询数量.我指定了@BatchFetch(BatchFetchType.IN)优化提示,但我仍然看到一些额外的查询,我认为这些查询是多余的和不必要的.

细节:

考虑一个简单的域模型:我们有Invoice mgmt系统.发票与订单具有OneToOne关系.我们也有客户,与订单有OneToMany关系.(客户1-> M订单1 <-1发票).在此处查找更多详情.在这里找到完整的源代码.这是实体定义,因为它目前是:

Client.java(不包括getter和setter):

  @Entity(name = "CUSTOMER") 
  public class Customer {
    @Id //signifies the primary key
    @Column(name = "CUST_ID", nullable = false)
    @GeneratedValue(strategy = GenerationType.AUTO)
    private long custId;

    @Column(name = "FIRST_NAME", length = 50)
    private String firstName;

    @OneToMany(mappedBy="customer",targetEntity=Order.class,
            fetch=FetchType.LAZY)
    private Collection<Order> orders;
    }
Run Code Online (Sandbox Code Playgroud)

Order.java(不包括getter和setter):

 @Entity(name = "ORDERS")
 public class Order {
    @Id
    @Column(name = "ORDER_ID", nullable = false)
    @GeneratedValue(strategy = GenerationType.AUTO)
    private …
Run Code Online (Sandbox Code Playgroud)

optimization performance jpa eclipselink

8
推荐指数
1
解决办法
1343
查看次数

为什么twitter需要API密钥秘密和访问令牌密钥?

我想了解API Secret和Access Token Secret的责任/差异.当我需要保护我的API时,我通常会要求用户首先注册并获取accessToken,并使用相同的方法进行API调用.

另外,如果你能让我理解基于单一accessToken的当前方法有什么问题,为什么我更喜欢实现API Key,API Key Secret,Access Token,Access Token Secret,这将是非常有用的.

谢谢!

twitter oauth secret-key access-token twitter-oauth

5
推荐指数
1
解决办法
5400
查看次数

Scala - 对于活动对象,Scala中的'this'可以为null吗?

我遇到的事情违背了我的理解.我的理解是,对于活动对象,'this'不能为null,但是,对于下面显示的情况,我遇到了类似的事情.

上下文 - 我在这种情况下使用XGBoost4J-Spark包.你可以在这里查看源代码.更具体地说,我指的是XGBoostEstimator类.我有以下类的定义,只有一个额外的print语句.

package ml.dmlc.xgboost4j.scala.spark

import ml.dmlc.xgboost4j.scala.{EvalTrait, ObjectiveTrait}
import org.apache.spark.ml.{Predictor, Estimator}
import org.apache.spark.ml.param.ParamMap
import org.apache.spark.ml.util.Identifiable
import org.apache.spark.mllib.linalg.{VectorUDT, Vector}
import org.apache.spark.mllib.regression.LabeledPoint
import org.apache.spark.sql.functions._
import org.apache.spark.sql.types.{NumericType, DoubleType, StructType}
import org.apache.spark.sql.{DataFrame, TypedColumn, Dataset, Row}

/**
 * the estimator wrapping XGBoost to produce a training model
 *
 * @param inputCol the name of input column
 * @param labelCol the name of label column
 * @param xgboostParams the parameters configuring XGBoost
 * @param round the number of iterations to train …
Run Code Online (Sandbox Code Playgroud)

scala apache-spark xgboost

2
推荐指数
1
解决办法
148
查看次数