ebean 和 play 框架中的复合键

2024-02-29

我刚刚开始使用 Play 框架。完成教程(涵盖基本功能)后,我尝试在数据库和游戏之间设置连接。我的一个关系有模式:

CREATE  TABLE IF NOT EXISTS `shop`.`CatPath` (
  `parentC` INT NOT NULL ,
  `childC` INT NOT NULL ,
  `depth` INT NOT NULL ,
  PRIMARY KEY (`parentC`, `childC`) 
  )

所以我建立了模型的类:

@Entity
public class CatPath extends Model {

@EmbeddedId 
public CatPathKey key;
public Long depth;

public class CatPathKey {

        public Long parentC;
        public Long childC;
}   

public static Finder<CatPathKey, CatPath> find = new Finder<CatPathKey, CatPath>(CatPathKey.class, CatPath.class);

编译后我得到异常:

PersistenceException: Could not find BeanDescriptor for class models.CatPath$KatPathKey. Perhaps the EmbeddedId class is not registered?

我不知道问题出在哪里,当我按照教程进行操作时一切正常。我的代码和教程之间的唯一区别是关键:我有复合键,在教程中只有一列作为键。为什么在教程中不需要“注册课程”?我猜,它是自动注册的,但为什么现在使用复合键却没有呢?

我尝试查找一些资料,发现:http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Entities/Ids/EmbeddedId http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Entities/Ids/EmbeddedId这个xml代码是“类注册”?在 Play 框架教程和详细主题 xml 中没有提到,我没有对模型的类执行任何操作,一切正常。


你必须添加@Embeddable在你的注释下CatPathKey class:

@Embeddable
public class CatPathKey {

        public Long parentC;
        public Long childC;
} 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ebean 和 play 框架中的复合键 的相关文章

随机推荐

  • MVC 模式中的“Hello World”

    在面试某家公司的时候 我被问到了这个问题 你知道哪些设计模式 然后我被告知基于 MVC 设计模式编写最简单的 hello world 应用程序 我想出了一个 JavaScript 程序 var arr a b c d this is an
  • 应用 pyspark ALS 的“recommendProductsForUsers”时出现 StackOverflow 错误(尽管可用 >300GB RAM 的集群)

    寻找专业知识来指导我解决以下问题 背景 我正在尝试使用受启发的基本 PySpark 脚本这 例子 https github com GoogleCloudPlatform spark recommendation engine blob m
  • Laravel 至少需要一个字段

    我有两个字段billable option and billable option yes 我想验证至少一个字段是必填字段 我努力了 this gt validate request billable option gt required
  • 获取linux可执行文件加载地址(__builtin_return_address和addr2line)

    我正在编写一些代码来存储每个内存分配的回溯 然后 我将这些列表写入文件以进行离线分析 在win32中我使用 AddressOfReturnAddress然后手动创建回溯 由于我使用的每次运行的地址都是随机的GetModuleInformat
  • 无法在 Crashlytics 中获取本机崩溃的堆栈跟踪

    我有一个 Android 项目 其中包含本机库 so 我已将 firebase crashlytics 集成到我的项目中 我能够在 firebase crashlytics 中获取 Java 崩溃的崩溃转储 但是 如果发生本机崩溃 堆栈跟踪
  • 如何定义具有键类型和值类型之间相关性的 Map,而它们都是并集

    这是显示我想要实现的目标的示例 除了两个问题之外 它几乎可以工作 设置不显示错误代码的错误 Immer Draft 类型 或任何 DeepWritable 实用程序类型 完全搞乱了这个技巧 基本上在我看来 我在这里所做的事情并不是什么真正的
  • 在 scrapyd 中启用 HttpProxyMiddleware

    阅读scrapy文档后 我认为HttpProxyMiddleware是默认启用的 但是当我通过 scrapyd 的 webservice 接口启动蜘蛛时 HttpProxyMiddleware 未启用 我收到以下输出 2013 02 18
  • 如何获取适用于 adMob 的测试广告横幅并测试插页式广告?

    我正在尝试设置 adMob 广告 我有两个问题 1 我是否正确使用了 adListener 接口 2 为什么我看不到插页式广告 让我们从 adListener 开始 据我从说明中了解到 adListener 是一个接口 所以我创建了一个界面
  • (iPhone) 我可以使用调度程序进行 AudioServicesPlaySystemSound 循环吗?

    我可以使用调度程序进行 AudioServicesPlaySystemSound 循环吗 一个问题是我无法获得声音持续时间 有什么方法可以获取持续时间 以便我可以动态创建循环声音的调度程序 据我所知 AudioService 没有内置循环和
  • 消息总线和消息队列理解

    我想知道我对消息总线和消息队列工作原理的理解是否正确 首先 我需要明确命名 服务巴士可以与以下互换使用消息总线 这是一种发布者 订阅者类型的系统 其中消息被添加到任意数量的发布者的消息集合中 并且任意数量的订阅者可以从中读取消息 到目前为止
  • Java 和 C++ 中的构建器?

    在谷歌的协议缓冲区 http code google com p protobuf API for Java 他们使用这些漂亮的构建器来创建对象 请参阅here http code google com apis protocolbuffe
  • 如何计算pandas中的逆累积和

    我正在尝试找到一种方法来计算熊猫的逆累积和 这意味着申请cumsum但从下到上 我面临的问题是 我试图找到西班牙每个月从上到下的工作天数 第一个工作天 1 第二个工作天 2 第三个工作天 3 等等 并且从下到上 最后一个工作日 1 前一天
  • FTYPE/ASSOC 优先级并从命令行添加到 OpenWithList

    不确定这是否属于超级用户 但这里似乎有一个 cmd exe 标签 所以这里 作为背景 我正在开发一个 Firefox 附加组件 顺便说一句 这个问题不需要 Firefox 的知识 因为 Firefox 附加组件可以调用命令行 该附加组件旨在
  • 在 C# 中覆盖图像图片框

    我正在做一个应用程序 我添加一个图片框以将图像添加到某些产品中 我有一个问题 我想编辑已添加到某个产品中的图像 我该怎么做 这是我的实际代码 private void pbImagenEquipo DoubleClick object se
  • 如何只读取文本文件每行的第一个单词?

    我想知道如何只能读取文本文件中每行的第一个单词 我尝试了各种代码并尝试更改代码 但只能设法从文本文件中读取整行 我使用的代码如下所示 QuizList with open Quizzes txt r as f for line in f Q
  • 在毕加索中加载实际图像之前模糊缩略图

    我正在使用 picasso 显示来自 URL 的图像 我在加载实际图像之前先显示缩略图 我想模糊该缩略图 我如何在 picasso 中实现 这是我的源代码 pb setVisibility View GONE Picasso with ge
  • 根据打字稿函数中的另一个参数限制一个参数的类型

    interface INavigation children string initial string function navigation children initial INavigation return null 我有一个类似
  • Java 中的 StAX XML 格式化

    是否可以使用 StAX 特别是 woodstox 使用换行符和制表符格式化输出 xml 即采用以下形式
  • sbt 0.13.8 URI 有一个权限组件

    在 sbt 项目中运行 sbt 时出现此错误 我有 JDK 8 和 sbt 0 13 8 我可以毫无问题地运行 activator 命令 但我需要 sbt 工作 因为我的 IDE IntelliJ IDEA 使用它来加载项目 E work
  • ebean 和 play 框架中的复合键

    我刚刚开始使用 Play 框架 完成教程 涵盖基本功能 后 我尝试在数据库和游戏之间设置连接 我的一个关系有模式 CREATE TABLE IF NOT EXISTS shop CatPath parentC INT NOT NULL ch