Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
sheela mk
custom-sql in liferay 6.1
March 22, 2012 4:40 AM
Answer

sheela mk

Rank: Regular Member

Posts: 111

Join Date: February 16, 2012

Recent Posts

hai..Everbody,

trying for custom-sql query,with Liferay6.1 with tomcat7,mysql

M not able to generate its BooksFinder interface and BooksfinderUtil class after ant build-service also

Let me know wher i ve gone wrong..
Using Eclipse helios in Ubunto..

service.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.0.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd">
<service-builder package-path="book.database">
<author>sourceone</author>
<namespace>B</namespace>

<entity name="Books" local-service="true" remote-service="false">
<column name="bookId" type="long" primary="true"></column>
<column name="title" type="String"></column>
<column name="author" type="String"></column>
<column name="dateOfPurchase" type="Date"></column>
<column name="pages" type="int"></column>
<column name="userId" type="long"></column>
<column name="companyId" type="long"></column>
<column name="groupId" type="long"></column>
<order by="asc">
<order-column name="bookId"></order-column>
</order>
<finder return-type="Collection" name="GroupId">
<finder-column name="groupId"></finder-column>
</finder>
<finder return-type="Collection" name="CompanyId">
<finder-column name="companyId"></finder-column>
</finder>
<finder return-type="Collection" name="UserId">
<finder-column name="userId"></finder-column>
</finder>
<finder return-type="Collection" name="Group_Title">
<finder-column name="groupId"></finder-column>
<finder-column name="title"></finder-column>
</finder>
<finder return-type="Collection" name="Group_Author">
<finder-column name="groupId"></finder-column>
<finder-column name="author"></finder-column>
</finder>

</entity>
</service-builder>

package book.database.service.persistence;

import java.util.List;

import book.database.model.impl.BooksImpl;

import com.liferay.portal.kernel.dao.orm.QueryPos;
import com.liferay.portal.kernel.dao.orm.SQLQuery;
import com.liferay.portal.kernel.dao.orm.Session;
import com.liferay.portal.service.persistence.impl.BasePersistenceImpl;
import com.liferay.util.dao.orm.CustomSQLUtil;

public class BookFinderImpl extends BasePersistenceImpl { //Here I has to use implements BooksFinder
public List findBooks(String title)
{
public final String FIND_BOOK="findBooks";
Session session=null;

session=openSession();
String sql=CustomSQLUtil.get(FIND_BOOK);
SQLQuery query=session.createSQLQuery(sql);
query.addEntity("Books",BooksImpl.class);

QueryPos qpos=QueryPos.getInstance(query);
qpos.add(title);
return (List)query.list();


}
}


/src/custom-sql/default.xml

<?xml version="1.0" encoding="UTF-8"?>
<custom-sql>
<sql id="findBooks">
<![CDATA[
SELECT
{Books.*}
FROM
Books
WHERE
(Books.title like ?)
]]>
</sql>
</custom-sql>

portal-ext.properties

custom.sql.configs=custom-sql/default.xml
Victor E
RE: custom-sql in liferay 6.1
April 4, 2012 2:55 AM
Answer

Victor E

Rank: New Member

Posts: 5

Join Date: March 2, 2012

Recent Posts

Hi Sheela,
Were you able to resolve your issue?
I encountered the same problem with the Finder and FinderUtil class not being generated after running build-service.
Using LR 6.1 and Eclipse Indigo.
sheela mk
RE: custom-sql in liferay 6.1
April 5, 2012 5:06 AM
Answer

sheela mk

Rank: Regular Member

Posts: 111

Join Date: February 16, 2012

Recent Posts

Hai..After refreshing project I got it..

But Some times I wont get it..if i try out other ex.......

exactly I dont kwn what the solution is.. But i got it for BookFinder interface..and BookfinderUtil..

let me knw..if u get any answers..
Sandeep Nair
RE: custom-sql in liferay 6.1
April 5, 2012 5:19 AM
Answer

Sandeep Nair

Rank: Liferay Legend

Posts: 1705

Join Date: November 5, 2008

Recent Posts

Unlike other classes that are generated by Servicebuilder, finders are not generated automatically.

You first have to manually create FinderImpl class and then run the servicebuilder to generate the other finder related classes

http://kamalkantrajput.blogspot.com/2009/07/how-to-use-custom-sql-in-liferay.html

Regards,
Sandeep
Subhash Pavuskar
RE: custom-sql in liferay 6.1
June 28, 2012 5:09 AM
Answer

Subhash Pavuskar

Rank: Regular Member

Posts: 234

Join Date: March 12, 2012

Recent Posts

Can anyone tell me what is the use of custom sql and when to use it?
Hitoshi Ozawa
RE: custom-sql in liferay 6.1
June 28, 2012 5:54 AM
Answer

Hitoshi Ozawa

Rank: Liferay Legend

Posts: 7949

Join Date: March 23, 2010

Recent Posts

Following wiki may help you:

http://www.liferay.com/community/wiki/-/wiki/Main/Service+Builder+Finders
Edgar Trania
RE: custom-sql in liferay 6.1
December 20, 2013 8:21 AM
Answer

Edgar Trania

Rank: Junior Member

Posts: 37

Join Date: November 13, 2010

Recent Posts

also having same problem clicking refresh doesn't show xxxFinder interface and xxxFinderUtil class at also i tried to reopen my eclipse and that interface and class doesnt show what is the problem

im using liferay 6.1 and eclipse juno on windows
Piña Kanpokaldean
RE: custom-sql in liferay 6.1
June 25, 2014 6:57 PM
Answer

Piña Kanpokaldean

Rank: Junior Member

Posts: 72

Join Date: April 14, 2012

Recent Posts

Just a note, since I just solved a similar issue I was having: the finderImpl method you have to create manually must have the entity's exact name. If you use anything else as the class name, the interface won't be generated. Hopefully this will be of use to someone, eventually,.
3Esofttech Solutions
RE: custom-sql in liferay 6.1
August 20, 2014 4:33 AM
Answer

3Esofttech Solutions

Rank: New Member

Posts: 2

Join Date: August 20, 2014

Recent Posts

Please check the Sql query