我打算在一个项目中使用Apache Cayenne,但实际上却很难正确设置它。 Cayenne tutorial显示了如何在CayenneModeller中设置数据库位置。我的问题是我想在运行时动态确定的路径上使用Apache Derby,但我找不到如何使Cayenne实际使用该路径的方法。 我试图这样设置路径: private static boolean setupDataBase() { String path = Globals.USER_DATA_DIRECTORY + File.separator + …

2020年10月12日 0条评论 54点热度 阅读全文

这与我以前的question有关,在这里我讨论了通过外键ID查找行。该问题旨在通过主键ID查找对象列表。 在下面的代码中,我试图通过提供ID列表来查找Person对象的列表。但是Apache Cayenne无法做到这一点,因为ID_PK_COLUMN是字符串而不是Property。 ObjectSelect .query(Person::class.java) .where(Person.ID_PK_COLUMN.in(listOfIds)) // <- Cannot perform this .select…

2020年5月28日 0条评论 37点热度 阅读全文

我是Apache Cayenne的新手。 我只有一个实体,称为产品。该实体与其自身具有多对多关系,即一个产品可以包含产品,也可以被其他产品包含。 我无法与Cayenne建立这种关系。我要做的是:1)我创建一个名为Composition的表,其中包含两个字段,分别是PK和FK。2)我从产品到构成创建两个toMany(一个从product.id到Composition.contained_id,一个从product.id到Composition.base_id)这应该与数据库一起使用现在,我仅创建一个ObjEntity…

2020年4月18日 0条评论 38点热度 阅读全文

我想在Docker容器中使用Apache Cayenne Java Web应用程序,因为有多个实例正在运行,我想通过环境变量对它们进行自定义。现在,我有一个问题,我正在使用一个中央数据库,每个实例/容器的目录不同。是否可以通过env设置defaultCatalog(在xxx.map.xml中定义)。变量? 问候马库斯 解决方案如下: Cayenne中的“默认”目录仅控制将什么目录分配给Modeler中新创建的DbEntities,并且对运行时行为没有影响。 现在,在大多数数据库的运行时中,默认目录都是通过连接URL…

2020年1月9日 0条评论 46点热度 阅读全文

我有要调试的项目,并且可以确定它使用的是Cayenne 3.2,我已经下载了cayenne 3.2源码,现在,如果我在选择Import-> File System->然后尝试将cayenne源码导入为项目时,选择根Cayenne目录或具有源的子目录之一,我得到“源在目标的层次结构中”。 Eclipse不允许我导入源。如果不导入它,并且在引发异常时,单击“编辑源查找”以附加源,则选择cayenne根目录或子目录之一,它将不起作用。如果我选择一个Jar或zip文件,该代码将显示1秒钟,然后再次消失! 有人知…

2019年6月21日 0条评论 42点热度 阅读全文