我從現有數據庫表(SQL Server 2008 R2)返回數據時遇到問題。我可以成功地進行身份驗證並連接到數據庫,我創建了一個模型,試圖映射到特定的表,然後作爲測試嘗試返回行計數,行計數總是返回0.我想也許我不明白Play/Ebean數據庫連接如何工作。目前我有以下:Play Framework 2.1.0 - 使用Ebean查詢現有數據庫表
模型 - Data.java:
package models;
import javax.persistence.*;
import play.db.ebean.*;
@Entity
@Table(name="someTable")
public class Data extends Model {
private static final long serialVersionUID = 1L;
@Id
public int someKey;
public String someCol;
public static Finder<Integer,Data> find = new Finder<Integer,Data>(Integer.class, Data.class);
}
控制器 - Index.java
package controllers;
import java.util.*;
import models.Data;
import play.mvc.*;
public class Index extends Controller {
static int rowCount = Data.find.getMaxRows();
public static Result index() {
Result res = ok(rowCount);
return res;
}
}
Application.conf(相關片段):
db.default.driver=net.sourceforge.jtds.jdbc.Driver
db.default.url="jdbc:jtds:sqlserver://server.domain.local/someDB;instance=SQL"
db.default.user=someUser
db.default.password="password"
evolutionplugin=disabled
ebean.default="models.*"
我不知道Evolution是如何工作的,但我在SQL中分別完成數據庫開發工作,即DDL和模式創建/修改。
任何幫助將不勝感激。
感謝
嘗試'findRowCount()'而不是'getMaxRows()'。 – nkr 2013-03-14 21:12:25
@nkr - findRowCount()工作!非常感謝您的幫助,非常感謝,您知道getMaxRows()的預期功能是什麼嗎? – user2162484 2013-03-14 22:15:45
我發佈了一個更詳細的答案。 – nkr 2013-03-15 00:44:27