ฉันต้องการเพิ่มตารางลงในฐานข้อมูลของฉันโดยใช้ FreeMarker ฉันพยายามใช้ ExpandoTableLocalServiceUtil คลาสในเทมเพลตของฉัน:
<#assign expandoTable = staticUtil["com.liferay.portlet.expando.service.ExpandoTableLocalServiceUtil"] />
จากนั้นฉันก็พยายามเพิ่มตาราง:
<#assign table = expandoTable.addTable(theme_display.getCompanyId(),"", "MYTABLE") />
แต่ตารางไม่ได้เพิ่ม
ฉันก็ลองวิธีนี้ด้วย:
${expandoTable.addTable(theme_display.getCompanyId(),"", "ANOTHER-TABLE")}
และฉันได้รับข้อผิดพลาดนี้:
Template processing error: "Method public static
com.liferay.portlet.expando.model.ExpandoTable
com.liferay.portlet.expando.service.ExpandoTableLocalServiceUtil.addTable(long,java.lang.String,java.lang.String) throws
com.liferay.portal.kernel.exception.PortalException,com.liferay.portal.kernel.exception.SystemException threw an exception"
The problematic instruction:
----------
==> ${expandoTable.addTable(theme_display.getCompanyId(),"", "ANOTHER-TABLE")} [on line 22, column 1 in eventi-theme_SERVLET_CONTEXT_/templates/portal_normal.ftl]
----------
Caused by: com.liferay.portlet.expando.DuplicateTableNameException: {tableId=0}
DuplicateTableNameException
? - person Tobias Liefke   schedule 25.11.2015