Foren

Build-service failed when we adding mapping-table in service.xml

Raj P, geändert vor 7 Jahren.

Build-service failed when we adding mapping-table in service.xml

New Member Beiträge: 3 Beitrittsdatum: 08.02.17 Neueste Beiträge
Hi,
When we are adding "mapping-table" in service.xml after running build-service we got following errors.
As user table is default entity we are not adding this in our service.xml. Directly we are mapping to usermembership table. Below is our service.xml code.

<entity name="UserMembership" local-service="true" remote-service="true">

		<!-- PK fields -->
		<column name="userMembershipId" type="long" primary="true" />

		<!-- Other fields -->

		<column name="primaryUserId" type="long" />
		<column name="organizationId" type="long" />
		<column name="membershipPlanId" type="long" />
		<column name="membershipPlanPaymentId" type="long" />
		<column name="status" type="String" />
		<column name="startDate" type="Date" />
		<column name="expireDate" type="Date" />
		<column name="joinDate" type="Date" />
		<column name="renewalDate" type="Date" />
		<column name="meansBasedDiscountType" type="String" />
		<column name="meansBasedDiscountValue" type="double" />
		<column name="membershipTotalAmount" type="double" />
		<column name="referalUserId" type="long" />
		<column name="userMembershipName" type="String" />
		<column name="paymentOption" type="String" />
		<column name="lastPaymentDate" type="Date" />
		<column name="alsoKnownContactId" type="long" />
		<column name="censusTract" type="String" />
		<column name="medicationsCount" type="int" />
		<column name="homeCenterId" type="long" />
		
		<!-- Relationships -->
		<column name="user" type="Collection" entity="com.liferay.portal.User" mapping-table="Users_UserMembership" />
		
		<!-- Finder methods -->
		<finder name="OrganizationId" return-type="Collection">
			<finder-column name="organizationId" />
		</finder>
		<finder name="UserId" return-type="Collection">
			<finder-column name="primaryUserId" />
		</finder>
	</entity>


Here is the error in UsermemberhsipLocalServiceBaseImpl.java. Could you please let us know how can we add mappings in liferay 7 service.xml.
Errors:
The method addUserMembership(long, long) is undefined for the type UserPersistence
The method clearUserMemberships(long) is undefined for the type UserPersistence


	@Override
	public void addUserUserMembership(long userId, long userMembershipId) {
		userPersistence.addUserMembership(userId, userMembershipId);
	}

	/**
	 */
	@Override
	public void addUserUserMembership(long userId, UserMembership userMembership) {
		userPersistence.addUserMembership(userId, userMembership);
	}

	/**
	 */
	@Override
	public void addUserUserMemberships(long userId, long[] userMembershipIds) {
		userPersistence.addUserMemberships(userId, userMembershipIds);
	}

	/**
	 */
	@Override
	public void addUserUserMemberships(long userId,
		List<usermembership> userMemberships) {
		userPersistence.addUserMemberships(userId, userMemberships);
	}

	/**
	 */
	@Override
	public void clearUserUserMemberships(long userId) {
		userPersistence.clearUserMemberships(userId);
	}

</usermembership>
thumbnail
David H Nebinger, geändert vor 7 Jahren.

RE: Build-service failed when we adding mapping-table in service.xml

Liferay Legend Beiträge: 14916 Beitrittsdatum: 02.09.06 Neueste Beiträge
Yeah, no you can't cross class loaders like this for your mappings.

Manage your join table manually and all should be fine. Add accessors and support methods so you can encapsulate the user access, but self-management will be your only option.