向MYSQL添加数据时,键'PRIMARY'重复输入'0'([JDBCExceptionReporter:76])

时间:2012-10-20 07:05:22

标签: liferay portlet liferay-6 duplicates

从我的liferay portlet在数据库中插入第二次时出现以下异常。

[JDBCExceptionReporter:76] Duplicate entry '0' for key 'PRIMARY'.(我认为这是因为我的主键值没有自动增加)

我认为在我的自定义portlet中自动递增主键时出错了。但我不知道我必须在哪里进行更改。

如果有人可以指导我在哪里进行更改以解决此自动增量问题?

这是自动增量设置的代码         试试{

        restVar = restaurantPersistence.create(counterLocalService
                .increment(restaurant.class.toString()));
    } catch (SystemException e) {
        e.printStackTrace();
        return restVar = null;
    }

    try {



        resourceLocalService.addResources(0,restParam.getGroupId(), restParam.getUserId(),
                restaurant.class.getName(),restParam.getPrimaryKey(), false,true,true);
    } catch (PortalException e) {
        e.printStackTrace();
        return restVar = null;
    } catch (SystemException e) {
        e.printStackTrace();
        return restVar = null;
    }

1 个答案:

答案 0 :(得分:1)

试试这个..

long primaryKeyId = CounterLocalServiceUtil.increment(ClassName.class.getName());

XYZDetails XYZDetails = XYZDetailsLocalServiceUtil.createXYZDetails(primaryKeyId);

使用 XYZDetails Obj

添加其他详细信息

例如

XYZDetails.setName("Name");

然后保存详细信息..

XYZDetailsLocalServiceUtil.addXYZDetails(XYZDetails);

希望这可以帮到你!!!