Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.j256.ormlite.stmt;
- import org.junit.Test;
- import com.j256.ormlite.dao.Dao;
- import com.j256.ormlite.dao.ForeignCollection;
- import com.j256.ormlite.field.DatabaseField;
- import com.j256.ormlite.field.ForeignCollectionField;
- public class SpecificJoinTest extends BaseCoreStmtTest {
- @Test
- public void testSpecificJoinBug() throws Exception {
- Dao<Category, Integer> categoryDao = createDao(Category.class, true);
- Dao<Criterion, Integer> criterionDao = createDao(Criterion.class, true);
- QueryBuilder<Criterion, Integer> criteriaQb = criterionDao.queryBuilder();
- criteriaQb.where().eq("active", Boolean.valueOf(true));
- QueryBuilder<Category, Integer> categoryQb = categoryDao.queryBuilder();
- categoryQb.orderByRaw("id").join(criteriaQb).query();
- /*
- * I see:
- *
- * 'SELECT `category`.* FROM `category` INNER JOIN `criterion` ON `category`.`id` = `criterion`.`category_id`
- * WHERE `criterion`.`active` = true ORDER BY id ' returned 0 results
- */
- }
- /* ======================================================================================================== */
- protected static class BaseModel {
- @DatabaseField(generatedId = true)
- int id;
- }
- protected static class Project extends BaseModel {
- // nothing here
- }
- protected static class Category extends BaseModel {
- @DatabaseField(canBeNull = false, foreign = true)
- Project project;
- @ForeignCollectionField(eager = false)
- ForeignCollection<Criterion> criteria;
- public Category() {
- }
- }
- protected static class Criterion extends BaseModel {
- @DatabaseField
- boolean active;
- @DatabaseField
- Integer weight;
- @DatabaseField(canBeNull = false, foreign = true)
- Category category;
- public Criterion() {
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment