用游戏!Framework 2.0.4和EBean作为持久层,我试图将数据库的“元”信息包装到Java类中。
db.myData.url="jdbc:sqlserver://localhost:2301;databaseName=myData;"
ebean.myData="models.database.JavaTable"
package models.database;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import play.db.ebean.Model;
@Entity
@Table(name="tables",schema="INFORMATION_SCHEMA",catalog="myData")
public class JavaTable extends Model{
@Column(name="TABLE_NAME")
public String table_name;
public static Finder<String, JavaTable> find = new Finder<String, JavaTable>(
String.class, JavaTable.class
);
}
当我启动Play!时,它告诉我需要在数据库上运行一个演化来创建表“mydata.information_schema.tables”。然后我尝试通过单元测试来测试连接...
@Test
public void testGetTables(){
running(fakeApplication(), new Runnable() {
@Override
public void run() {
EbeanServer server = Ebean.getServer("myData");
List<SqlRow> rows = server.createSqlQuery("select * from myData.Information_Schema.Tables").findList();
for(SqlRow row: rows)
System.out.println("====>Row: " + row.toString());
}
});
}
单元测试正确执行,表名成功打印出来。
编辑:per@nico_ekito我删除了配置文件中的进化插件,并开始获取:
RuntimeException DataSource user is null
您应该尝试通过在application.conf文件中添加以下内容来禁用这些改进:
evolutionplugin=disabled
测试是可以的,因为您启动的不是真正的应用程序,而是使用fakeapplication()
,它不使用evolutions插件。
我有一个类,它扩展了 创建表主题的第一条记录可以,但无法创建另一条记录: [PersistenceException:执行DML bindLog时出错[]错误[ERROR:重复的键值违反了唯一约束“pk\U主题”\n详细信息:键(id)=(1)已存在。]] 例外情况当然发生在这一行: 这很奇怪,因为: 它以前工作没有问题 我应该怎么做才能解决这个问题? 类(当然不是全部,只是相关的):
Ebean是一个使用纯Java实现的开源ORM框架。 Bean使用JPA注释(@entity, @OneToMany等Java注释)对实体进行映射。Ebean力求让使用最简单的API帮助开发者从数据库获取有用的数据信息。 Ebean是一个对象/关系映射持久层框架。它与EJB3相类似,但该框架简单易于学习和使用。 主要特点: 1.兼容EJB3 ORM映射 2.支持级联保存和删除 3.支持懒加载
超简单、超强大的 ORM 框架,包含 OQL、SQL、ES 多查询引擎,超越 JPA、Hibernate、Mybatis。 支持的一些特性 对标准Entity支持完整CRUD操作,包括常用的查询操作 支持通过接口中的注解生成对应的查询(orm查询、sql查询、命名orm查询、命名sql查询、dto查询) 支持通过接口中的方法名生成对应的查询 支持QueryChannel服务 提供基础属性的实体基类
有以下代码: 它打印: 12 这个不能编译。为什么?
主要内容:装箱和拆箱,包装类的应用在 Java 的设计中提倡一种思想,即一切皆对象。但是从数据类型的划分中,我们知道 Java 中的数据类型分为基本数据类型和引用数据类型,但是基本数据类型怎么能够称为对象呢?于是 Java 为每种基本数据类型分别设计了对应的类,称之为 包装类(Wrapper Classes),也有地方称为外覆类或数据类型类。 包装类和基本数据类型的关系如下表所示。 基本数据类型及对应的包装类 序号 基本数据类型
注意:我已经将加密字段的datatype设置为varchar而不是binary,如下所示。因此,Ebean可能还会对生成的二进制数据进行十六进制。