getStructureId返回真实ID减1?

时间:2014-09-05 15:45:02

标签: liferay-6 assets

这是我正在使用的代码:

JournalArticle article = null;
article = JournalArticleLocalServiceUtil.getLatestArticle(classPk);
String structureId = article.getStructureId();

当我调试时,我发现structureId总是真正的结构,但是减1! 为什么?我需要知道它是否是Liferay的错误......

谢谢你, 我是Liferay 6.2 ce ga2。

2 个答案:

答案 0 :(得分:2)

JournalArticle的字段structureId相当于DDMStructure.structureId,而不是DDMStructure.structureKey。我承认,这可能会令人困惑。

这是由于DDMStructure的对象生成机制。使用控制面板添加新结构时,使用 counterLocalService (检查this代码)自动生成structureKey。正好在structureId is generated之前,它总是小一点。

答案 1 :(得分:0)

请参阅下面的Jira票据,其中解释了structureId vs structureKey问题:    - https://issues.liferay.com/browse/LPS-50671    - https://issues.liferay.com/browse/LPS-31163