小编Ben*_*Ben的帖子

Hibernate Native SQL Query检索实体和集合

这是我的情况,我有两个基本的POJO,我已经给出了一个简单的hibernate映射:

Person
  - PersonId
  - Name
  - Books

Book
  - Code
  - Description
Run Code Online (Sandbox Code Playgroud)

我的SQL查询返回如下所示的行:

PERSONID NAME       CODE DESCRIPTION
-------- ---------- ---- -----------
1        BEN        1234 BOOK 1
1        BEN        5678 BOOK 2
2        JOHN       9012 BOOK 3
Run Code Online (Sandbox Code Playgroud)

我的hibernate查询如下所示:

session.createSQLQuery("select personid, name, code, description from person_books")  
       .addEntity("person", Person.class)
       .addJoin("book", "person.books")
       .list();
Run Code Online (Sandbox Code Playgroud)

这是每节:18.1.3的hibernate文档:http: //docs.jboss.org/hibernate/core/3.6/reference/en-US/html/querysql.html#d0e17464

我期望在我的列表中得到的是2个人物对象,其中包含书籍集合中的书籍对象:

List
 |- Ben
 |   |- Book 1
 |   '- Book 2
 '- John
     '- Book 3
Run Code Online (Sandbox Code Playgroud)

我实际看到的是:

List
 |- Object[]
 |   |- Ben
 |   | …
Run Code Online (Sandbox Code Playgroud)

java hibernate native-sql

19
推荐指数
3
解决办法
5万
查看次数

子类化NSMutableDictionary

我试图实现一个NSMutableDictionary的子类,它返回nil而不是在字典中不存在键时抛出NSUndefinedKeyException.

但是,当我尝试将对象添加到我的字典中时,我得到了

[NSMutableDictionary setObject:forKey:]: method only defined for abstract class
Run Code Online (Sandbox Code Playgroud)

NilDictionary.h

@interface NilDictionary : NSMutableDictionary {
} 
@end
Run Code Online (Sandbox Code Playgroud)

NilDctionary.m

@implementation NilDictionary
- (id)valueForUndefinedKey:(NSString *)key {
  return nil;
}
@end
Run Code Online (Sandbox Code Playgroud)

我是否真的必须在我的子类中再次实现NSMutableDictionary中的所有方法,或者是否有其他类我应该进行子类化?

澄清:我原来的问题归结为我无法正确阅读文档.

如果你需要子类NSMutableDictionary,请检查正确的答案.如果你想要一个在你的密钥不存在时返回nil的字典,NSMutableDictionary已经这样做了.

iphone objective-c subclassing nsmutabledictionary ios

12
推荐指数
1
解决办法
9743
查看次数