2013-06-02 2 views
2

문제는 일부 요소를 가져올 때 쿼리에서 빈 결과를 얻는다는 것입니다. 여기에 코드가 있습니다 :hibernate 중첩 된 조건 빈 결과

DetachedCriteria criteria = DetachedCriteria.forClass(Article.class); 
DetachedCriteria authorCriteria = criteria.createCriteria("author"); 
authorCriteria.add(Restrictions.eq("id",((User)session.getAttribute("user")).getId())); 
List<Article> articles = articleManager.findArticleByCriteria(criteria); 


@Entity 
@Table(name = "ARTICLES") 
public class Article { 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    Integer id; 
    @ManyToOne(cascade = CascadeType.ALL) 
    @JoinColumn(name = "author_fk") 
    Writer author; 
    @Column(length = 10000) 
    String content; 
    String title; 
    @Transient 
    String shortContent; 
    ... 
} 

나는 특정 저자의 기사를 얻을 것으로 예상됩니다.

@edit

 id content             date   flagEditor flagWriter title author_fk editor_fk 
     30 nweINSERT INTO `WRITERS` (`USER_ID`) VALUES<br>(9)... 2013-06-02 13:14:55  0 0 new  9 NULL 
     31 INSERT INTO `WRITERS` (`USER_ID`) VALUES<br>(9);IN... 2013-06-02 13:20:04  0 0 dsfsafadsf 9 NULL 
     32 sdf((User)session.getAttribute("user"))((User)sess... 2013-06-02 13:35:33  0 0 frefds 9 NULL 

최대 절전 모드 SQL : 내가 찾은 http://pastebin.com/yfPz6aDb

확인 문제 : 모든 헌신

public List<Article> findByCriteria(DetachedCriteria criteria){ 
    List<Article> articles = null; 
    articles = criteria.getExecutableCriteria(HibernateUtil.getSession()).list(); 
//return value wasn't assignet do articles 
    return articles; 


} 

감사합니다 :)

+0

"기준"인 루트 기준을 전달해야하며 세부 정보를 가져 오는 데는 "authorCriteria"가 있어야합니다. 아니면이 쪽이 오타였습니까? – dinukadev

+0

기준 및 authorCriteria로 시도했습니다. – adaniluk

+0

동일한 구조로 테이블 구조를 공유 할 수 있습니까? – dinukadev

답변

1

당신은 저자 기준을 전달하는 루트 기준을 전달하는 대신 코드는 다음과 같아야합니다 :

List<Article> articles = articleManager.findArticleByCriteria(criteria); 
+0

의견에서 나는 citeria와 authorCriteria 모두 같은 결과를 시도했다고 썼다. – adaniluk

+1

그러면 세션에 저장된 사용자의 ID를 가진 저자가있는 데이터베이스의 기사가 없을 것입니다. 두 테이블의 내용을 게시 한 경우 , 세션의 사용자 ID 값 및 SQL 쿼리를 읽을 수있는 형식으로 작성하면 도움이 될 것입니다. –

+0

http://pastebin.com/yfPz6aDb sql – adaniluk